)>}]
شركة التطبيقات المتكاملة لتصميم وبرمجة البرمجيات الخاصة ش.ش.و.
Integrated Applications Programming Company
Skip Navigation LinksHome » Code Library » Owsbr

Public general use code classes and xml files that we've compiled and used over the years:

Huawei's Owsbr Entity Framework class for Optical Fiber Network (OFN) entity model.

    1: using System;
    2: using System.ComponentModel.DataAnnotations;
    3: using System.ComponentModel.DataAnnotations.Schema;
    4: using System.Linq;
    5: using System.Threading;
    6: using System.Threading.Tasks;
    7:  
    8: namespace Ia.Ngn.Cl.Model.Huawei
    9: {
   10:     ////////////////////////////////////////////////////////////////////////////
   11:  
   12:     /// <summary publish="true">
   13:     /// Huawei's Owsbr Entity Framework class for Optical Fiber Network (OFN) entity model.
   14:     /// </summary>
   15:     /// 
   16:     /// <remarks> 
   17:     /// Copyright © 2014-2021 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
   18:     ///
   19:     /// This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
   20:     /// the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
   21:     ///
   22:     /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
   23:     /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
   24:     /// 
   25:     /// You should have received a copy of the GNU General Public License along with this library. If not, see http://www.gnu.org/licenses.
   26:     /// 
   27:     /// Copyright notice: This notice may not be removed or altered from any source distribution.
   28:     /// </remarks> 
   29:     public class Owsbr
   30:     {
   31:         /// <summary/>
   32:         public enum ServiceTypeList { IMPU = 1, US }
   33:  
   34:         /// <summary/>
   35:         public Owsbr() { }
   36:  
   37:         /// <summary/>
   38:         public long Id { get; set; }
   39:  
   40:         /// <summary>
   41:         /// It specifies the IMPU of a specific subscriber. It can be a TEL URI or a SIP URI. The rules for setting the parameter are as follows:
   42:         /// To configure an IMPU in SIP URI format, type a string such as sip:userinfo@huawei.com or userinfo@huawei.com.
   43:         /// To configure an IMPU in TEL URI format, type a string such as tel:+867557780000 or +867557780000.
   44:         ///. Value: a string of a maximum of 128 characters. Default value: none. This parameter is mandatory.
   45:         /// </summary>
   46:         [Key]
   47:         public string IMPU { get; set; }
   48:  
   49:         /// <summary>
   50:         /// Options:
   51:         /// 0: NORMAL (NORMAL): The subscriber can originate and answer calls normally.
   52:         /// 1: OUTOWN (OUTOWN): The subscriber can answer calls but is forbidden to originate any call except for owing override calls.
   53:         /// 2: INOWN (INOWN): The subscriber is forbidden to answer calls but can originate calls.
   54:         /// 3: BOTHOWN (BOTHOWN): The subscriber is forbidden to answer and originate any calls.
   55:         /// </summary>
   56:         public int US { get; set; }
   57:  
   58:         /// <summary/>
   59:         public DateTime Created { get; set; }
   60:  
   61:         /// <summary/>
   62:         public DateTime Updated { get; set; }
   63:  
   64:         ////////////////////////////////////////////////////////////////////////////
   65:  
   66:         /// <summary>
   67:         ///
   68:         /// </summary>
   69:         public bool Equal(Owsbr owsbr)
   70:         {
   71:             // below: this will not check the Id, Created, Updated, or Viewed fields
   72:             bool areEqual;
   73:  
   74:             if (this.IMPU != owsbr.IMPU) areEqual = false;
   75:             else if (this.US != owsbr.US) { areEqual = false; }
   76:             else areEqual = true;
   77:  
   78:             return areEqual;
   79:         }
   80:  
   81:         ////////////////////////////////////////////////////////////////////////////
   82:  
   83:         /// <summary>
   84:         ///
   85:         /// </summary>
   86:         public bool Update(Owsbr owsbr)
   87:         {
   88:             // below: this will not update Id, IMPU, Created
   89:             bool updated;
   90:  
   91:             updated = false;
   92:  
   93:             if (this.US != owsbr.US) { this.US = owsbr.US; updated = true; }
   94:  
   95:             if (updated) this.Updated = DateTime.UtcNow.AddHours(3);
   96:  
   97:             return updated;
   98:         }
   99:  
  100:         ////////////////////////////////////////////////////////////////////////////
  101:         ////////////////////////////////////////////////////////////////////////////
  102:  
  103:         /// <summary>
  104:         ///
  105:         /// </summary>
  106:         public string ToSimpleTextString()
  107:         {
  108:             return Ia.Ngn.Cl.Model.Data.Huawei.Owsbr.ToSimpleTextString(this);
  109:         }
  110:  
  111:         ////////////////////////////////////////////////////////////////////////////
  112:         ////////////////////////////////////////////////////////////////////////////
  113:     }
  114:  
  115:     ////////////////////////////////////////////////////////////////////////////
  116:     ////////////////////////////////////////////////////////////////////////////
  117: }