Example #1
0
 public override object Authenticate(IObjectSpace objectSpace)
 {
     string systemUserName = WindowsIdentity.GetCurrent().Name;
     string enteredUserName = ((AuthenticationStandardLogonParameters)LogonParameters).UserName;
     if (string.IsNullOrEmpty(enteredUserName))
     {
         throw new ArgumentException(SecurityExceptionLocalizer.GetExceptionMessage(SecurityExceptionId.UserNameIsEmpty));
     }
     if (!String.Equals(systemUserName, enteredUserName))
     {
         throw new AuthenticationException(enteredUserName, "Invalid user name");
     }
     object user = objectSpace.FindObject(UserType, new BinaryOperator("UserName", systemUserName));
     if (user == null)
     {
         user = objectSpace.CreateObject(UserType);
         ((IAuthenticationActiveDirectoryUser)user).UserName = systemUserName;
         bool strictSecurityStrategyBehavior = SecurityModule.StrictSecurityStrategyBehavior;
         SecurityModule.StrictSecurityStrategyBehavior = false;
         objectSpace.CommitChanges();
         SecurityModule.StrictSecurityStrategyBehavior = strictSecurityStrategyBehavior;
     }
     if (!((IAuthenticationStandardUser)user).ComparePassword(((AuthenticationStandardLogonParameters)LogonParameters).Password))
     {
         throw new AuthenticationException(systemUserName, SecurityExceptionLocalizer.GetExceptionMessage(SecurityExceptionId.RetypeTheInformation));
     }
     return user;
 }
 public override object Authenticate(IObjectSpace objectSpace) {
     object user = objectSpace.FindObject(UserType, findUserCriteria);
     if (user == null) {
         throw new AuthenticationException(findUserCriteria.ToString());
     }
     return user;
 }
 private object AuthenticateActiveDirectory(IObjectSpace objectSpace) {
     var windowsIdentity = WindowsIdentity.GetCurrent();
     if (windowsIdentity != null) {
         string userName = windowsIdentity.Name;
         var user = (IAuthenticationActiveDirectoryUser)objectSpace.FindObject(UserType, new BinaryOperator("UserName", userName));
         if (user == null) {
             if (_createUserAutomatically) {
                 var args = new CustomCreateUserEventArgs(objectSpace, userName);
                 if (!args.Handled) {
                     user = (IAuthenticationActiveDirectoryUser)objectSpace.CreateObject(UserType);
                     user.UserName = userName;
                     if (Security != null) {
                         //Security.InitializeNewUser(objectSpace, user);
                         Security.CallMethod("InitializeNewUser", new object[]{objectSpace, user});
                     }
                 }
                 objectSpace.CommitChanges();
             }
         }
         if (user == null) {
             throw new AuthenticationException(userName);
         }
         return user;
     }
     return null;
 }
Example #4
0
        public static void CreateDummyUsers(IObjectSpace ObjectSpace)
        {
            var adminRole =
                ObjectSpace.FindObject<SecuritySystemRole>(new BinaryOperator("Name",
                                                                              SecurityStrategy.AdministratorRoleName));
            if (adminRole == null) {
                adminRole = ObjectSpace.CreateObject<SecuritySystemRole>();
                adminRole.Name = SecurityStrategy.AdministratorRoleName;
                adminRole.IsAdministrative = true;
                adminRole.Save();
            }

            var userRole = ObjectSpace.FindObject<SecuritySystemRole>(new BinaryOperator("Name", "User"));
            if (userRole == null) {
                userRole = ObjectSpace.CreateObject<SecuritySystemRole>();
                userRole.Name = "User";
                var userTypePermission = ObjectSpace.CreateObject<SecuritySystemTypePermissionObject>();
                userTypePermission.TargetType = typeof(SecuritySystemUser);
                var currentUserObjectPermission = ObjectSpace.CreateObject<SecuritySystemObjectPermissionsObject>();
                currentUserObjectPermission.Criteria = "[Oid] = CurrentUserId()";
                currentUserObjectPermission.AllowNavigate = true;
                currentUserObjectPermission.AllowRead = true;
                userTypePermission.ObjectPermissions.Add(currentUserObjectPermission);
                userRole.TypePermissions.Add(userTypePermission);
            }

            var user1 = ObjectSpace.FindObject<SecuritySystemUser>(
                new BinaryOperator("UserName", "Sam"));
            if (user1 == null) {
                user1 = ObjectSpace.CreateObject<SecuritySystemUser>();
                user1.UserName = "******";
                // Set a password if the standard authentication type is used
                user1.SetPassword("");
            }
            // If a user named 'John' doesn't exist in the database, create this user
            var user2 = ObjectSpace.FindObject<SecuritySystemUser>(
                new BinaryOperator("UserName", "John"));
            if (user2 == null) {
                user2 = ObjectSpace.CreateObject<SecuritySystemUser>();
                user2.UserName = "******";
                // Set a password if the standard authentication type is used
                user2.SetPassword("");
            }
            user1.Roles.Add(adminRole);
            user2.Roles.Add(userRole);
        }
 public override object Authenticate(IObjectSpace objectSpace)
 {
     object user = objectSpace.FindObject(UserType, workflowWorkerUserCriteria);
     if (user == null)
     {
         throw new AuthenticationException("", "Cannot find workflow worker user.");
     }
     return user;
 }
 private object AuthenticateStandard(IObjectSpace objectSpace) {
     if (string.IsNullOrEmpty(logonParameters.UserName))
         throw new ArgumentException(SecurityExceptionLocalizer.GetExceptionMessage(SecurityExceptionId.UserNameIsEmpty));
     var user = (IAuthenticationStandardUser)objectSpace.FindObject(UserType, new BinaryOperator("UserName", logonParameters.UserName));
     if (user == null || !user.ComparePassword(logonParameters.Password)) {
         throw new AuthenticationException(logonParameters.UserName, SecurityExceptionLocalizer.GetExceptionMessage(SecurityExceptionId.RetypeTheInformation));
     }
     return user;
 }
        public override object Authenticate(IObjectSpace objectSpace) {
            if (string.IsNullOrEmpty(parameters.UserName))
                throw new ArgumentException(SecurityExceptionLocalizer.GetExceptionMessage(SecurityExceptionId.UserNameIsEmpty));
            var user = (IAuthenticationStandardUser)objectSpace.FindObject(UserType,CriteriaOperator.Parse("UserName = ?", parameters.UserName));
 
            if (user == null ||!user.ComparePassword(parameters.Password)){
                throw new AuthenticationException(parameters.UserName, SecurityExceptionLocalizer.GetExceptionMessage(SecurityExceptionId.RetypeTheInformation));
            }
            return user;
        }
 public static IFirstLaunchParameters GetInstance(IObjectSpace objectSpace)
 {
     var parameters = objectSpace.FindObject<IFirstLaunchParameters>(null);
     if (parameters == null)
     {
         parameters = objectSpace.CreateObject<IFirstLaunchParameters>();
         parameters.DummyObjectsCreated = false;
     }
     return parameters;
 }
 /// <summary>
 /// Gets the session.
 /// </summary>
 /// <param name="objectSpace">The object space.</param>
 /// <param name="packageSession">The package session.</param>
 /// <returns>New external protocol session</returns>
 public static ExternalProtocolSession GetSession(IObjectSpace objectSpace, PackageSession packageSession)
 {
     var result =
         objectSpace.FindObject<ExternalProtocolSession>(
             CriteriaOperator.Parse("SessionId = ?", packageSession.SessionId), true);
     if(result == null)
     {
         result = objectSpace.CreateObject<ExternalProtocolSession>();
         result.SessionId = packageSession.SessionId;
         result.Route = packageSession.Route;
         result.StartedOn = packageSession.StartedOn;
         result.CommitedOn = packageSession.CommitedOn;
         if (packageSession.Parent != null)
             result.Parent = GetSession(objectSpace, packageSession.Parent);
     }
     return result;
 }
Example #10
0
        protected virtual object GetObjectCore(IModelDetailView modelView, object objectKey, IObjectSpace objectSpace) {
            Type type = modelView.ModelClass.TypeInfo.Type;
            object obj;

            if (XafTypesInfo.CastTypeToTypeInfo(type).IsPersistent) {
                if (objectKey != null && !(objectKey is CriteriaOperator))
                    obj = objectSpace.GetObjectByKey(type, objectKey);
                else {
                    obj = objectSpace.FindObject(type, (CriteriaOperator)objectKey) ?? objectSpace.CreateObject(type);
                    if (!(objectSpace.IsNewObject(obj)))
                        ((IXafApplication)_application).AfterViewShown += OnAfterViewShown;
                }
            } else {
                obj = (type.GetConstructor(new[] { typeof(Session) }) != null) ? objectSpace.CreateObject(type) : Activator.CreateInstance(type);
            }
            return obj;
        }
        public static NameSpace CreateNameSpace(string ns,IObjectSpace ObjectSpace)
        {
            var find = ObjectSpace.FindObject<NameSpace>(new BinaryOperator("FullName", ns));

            if (find == null)
            {
                var part = ns.Split('.');
                if (part.Length > 0)
                {
                    find = ObjectSpace.CreateObject<NameSpace>();
                    find.名称 = part[part.Length - 1];
                    if (part.Length > 1)
                    {
                        find.Parent = CreateNameSpace(string.Join(".", part.Take(part.Length - 1)), ObjectSpace);
                    }
                }
            }
            return find;
        }
        public static BusinessObject AddBusinessObject(Type type, string caption, NameSpace nameSpace, string description, bool isRuntimeDefine,IObjectSpace ObjectSpace)
        {
            var t = ObjectSpace.FindObject<BusinessObject>(new BinaryOperator("FullName", type.FullName),true);
            if (t == null)
            {
                t = ObjectSpace.CreateObject<BusinessObject>();
                t.DisableCreateGenericParameterValues = true;
                t.Category = nameSpace;
                t.名称 = type.Name;
                t.Caption = caption;
                t.Description = description;
                t.FullName = type.FullName;
                //t.CanCustomLogic = typeof(ICustomLogic).IsAssignableFrom(type);

                t.IsGenericTypeDefine = type.IsGenericType;

                t.IsRuntimeDefine = isRuntimeDefine;
            }
            return t;
        }
Example #13
0
        public void Process(XafApplication application,IObjectSpace objectSpace) {
            var user = objectSpace.FindObject(XpandModuleBase.UserType, new GroupOperator(GroupOperatorType.Or,new BinaryOperator("UserName", UserName),new BinaryOperator("Email",Email)),true) as IAuthenticationStandardUser;
            if (user != null&&!objectSpace.IsNewObject(user))
                throw new ArgumentException(CaptionHelper.GetLocalizedText(XpandSecurityModule.XpandSecurity, "AlreadyRegistered"));

            var securityUserWithRoles = objectSpace.IsNewObject(user)? (ISecurityUserWithRoles) user
                                                               : (ISecurityUserWithRoles)objectSpace.CreateObject(XpandModuleBase.UserType);
            User = securityUserWithRoles;
            var userTypeInfo = application.TypesInfo.FindTypeInfo(XpandModuleBase.UserType);
            var modelRegistration = (IModelRegistration)((IModelOptionsRegistration)application.Model.Options).Registration;
            AddRoles(modelRegistration, userTypeInfo, securityUserWithRoles, objectSpace);

            userTypeInfo.FindMember("UserName").SetValue(securityUserWithRoles,UserName);
            userTypeInfo.FindMember("IsActive").SetValue(securityUserWithRoles,modelRegistration.ActivateUser);

            modelRegistration.EmailMember.MemberInfo.SetValue(securityUserWithRoles,Email);
            var activationLinkMember = modelRegistration.ActivationIdMember;
            if (activationLinkMember!=null) {
                activationLinkMember.MemberInfo.SetValue(securityUserWithRoles, Guid.NewGuid().ToString());
            }

            securityUserWithRoles.CallMethod("SetPassword", Password);
            objectSpace.CommitChanges();
        }
Example #14
0
        public static DataTable ImportReceiveCaseBase(DataTable dtExcelData, IObjectSpace objectSpace)
        {
            var dtFormatData = dtExcelData.Copy();

            dtFormatData.Columns.Add("导入结果");
            dtFormatData.Columns.Add("相关信息");

            if (!dtFormatData.Columns.Contains("我方卷号"))
            {
                var drData = dtFormatData.NewRow();
                drData["导入结果"] = "失败";
                drData["相关信息"] = "导入表中不存在我方卷号列";
                dtFormatData.Rows.InsertAt(drData, 0);
                return(dtFormatData);
            }
            if (!dtFormatData.Columns.Contains("新申请"))
            {
                var drData = dtFormatData.NewRow();
                drData["导入结果"] = "失败";
                drData["相关信息"] = "导入表中不存在新申请列";
                dtFormatData.Rows.InsertAt(drData, 0);
                return(dtFormatData);
            }
            if (!dtFormatData.Columns.Contains("转入案"))
            {
                var drData = dtFormatData.NewRow();
                drData["导入结果"] = "失败";
                drData["相关信息"] = "导入表中不存在转入案列";
                dtFormatData.Rows.InsertAt(drData, 0);
                return(dtFormatData);
            }
            if (!dtFormatData.Columns.Contains("特殊案"))
            {
                var drData = dtFormatData.NewRow();
                drData["导入结果"] = "失败";
                drData["相关信息"] = "导入表中不存在特殊案列";
                dtFormatData.Rows.InsertAt(drData, 0);
                return(dtFormatData);
            }
            if (!dtFormatData.Columns.Contains("分案"))
            {
                var drData = dtFormatData.NewRow();
                drData["导入结果"] = "失败";
                drData["相关信息"] = "导入表中不存在分案列";
                dtFormatData.Rows.InsertAt(drData, 0);
                return(dtFormatData);
            }

            foreach (DataRow drData in dtFormatData.Rows)
            {
                try
                {
                    if (string.IsNullOrWhiteSpace(drData["我方卷号"]?.ToString()))
                    {
                        drData["导入结果"] = "失败";
                        drData["相关信息"] = "我方卷号为空";
                        continue;
                    }
                    var caseBase = objectSpace.FindObject <CaseBase>(CriteriaOperator.Parse($"s_OurNo = '{drData["我方卷号"]}'")) ??
                                   objectSpace.CreateObject <CaseBase>();

                    caseBase.s_OurNo         = drData["我方卷号"]?.ToString().Trim();
                    caseBase.b_IsApplication = drData["新申请"]?.ToString().Trim().ToUpper() == "Y";
                    caseBase.b_IsDivCase     = drData["分案"]?.ToString().Trim().ToUpper() == "Y";
                    caseBase.b_IsMiddle      = drData["转入案"]?.ToString().Trim().ToUpper() == "Y";
                    caseBase.b_IsSepcial     = drData["特殊案"]?.ToString().Trim().ToUpper() == "Y";
                    caseBase.GetCaseInfo();
                    caseBase.Save();
                    objectSpace.CommitChanges();
                    drData["导入结果"] = "成功";
                }
                catch (Exception e)
                {
                    drData["导入结果"] = "失败";
                    drData["相关信息"] = e.ToString();
                    objectSpace.Rollback();
                }
            }
            return(dtFormatData);
        }
Example #15
0
        /// <summary>
        ///     导入方法
        /// </summary>
        /// <param name="dtExcelData"></param>
        /// <param name="objectSpace"></param>
        /// <returns></returns>
        public static DataTable ImportDataOld(DataTable dtExcelData, IObjectSpace objectSpace)
        {
            var dtFormatData = dtExcelData.Copy();

            dtFormatData.Columns.Add("导入结果");
            dtFormatData.Columns.Add("相关信息");
            //dtFormatData.Columns["导入结果"].SetOrdinal(0);
            //dtFormatData.Columns.Add("相关信息").SetOrdinal(0);
            foreach (DataRow drData in dtFormatData.Rows)
            {
                try
                {
                    if (string.IsNullOrWhiteSpace(drData["卷号"]?.ToString()))
                    {
                        drData["导入结果"] = "失败";
                        drData["相关信息"] = "卷号为空";
                        continue;
                    }
                    if (string.IsNullOrWhiteSpace(drData["内容"]?.ToString()))
                    {
                        drData["导入结果"] = "失败";
                        drData["相关信息"] = "内容为空";
                        continue;
                    }
                    if (string.IsNullOrWhiteSpace(drData["日期"]?.ToString()))
                    {
                        drData["导入结果"] = "失败";
                        drData["相关信息"] = "日期为空";
                        continue;
                    }
                    string sInterNo     = null;
                    var    internalType = EnumsAll.InternalType.其他;
                    if (!string.IsNullOrWhiteSpace(drData["开草单日期"]?.ToString()) && !string.IsNullOrWhiteSpace(drData["草单编号"]?.ToString()))
                    {
                        sInterNo = drData["开草单日期"].ToString() + drData["草单编号"];
                        if (sInterNo.Length < 8)
                        {
                            drData["导入结果"] = "失败";
                            drData["相关信息"] = "草单编号不合法";
                            continue;
                        }
                        var oldInterNo = objectSpace.FindObject <InternalInvoice>(new BinaryOperator("InternalNo", sInterNo));
                        if (oldInterNo != null)
                        {
                            drData["导入结果"] = "失败";
                            drData["相关信息"] = "存在相同编号的草单";
                            continue;
                        }
                        var sCondition = $"OurNo = '{drData["卷号"]}' And Content = '{drData["内容"]}' ";
                        switch (sInterNo[6].ToString())
                        {
                        case "1":
                            sCondition += $" And InternalType = '{(int)EnumsAll.InternalType.中间}'";
                            break;

                        case "2":
                            sCondition += $" And InternalType = '{(int)EnumsAll.InternalType.OA}'";
                            break;

                        case "3":
                            sCondition += $" And InternalType = '{(int)EnumsAll.InternalType.年费}'";
                            break;

                        case "4":
                            sCondition += $" And InternalType = '{(int)EnumsAll.InternalType.新申请}'";
                            break;

                        case "7":
                            sCondition += $" And InternalType = '{(int)EnumsAll.InternalType.其他}'";
                            break;

                        default:
                            drData["导入结果"] = "失败";
                            drData["相关信息"] = "草单类型解析错误";
                            continue;
                        }
                        oldInterNo = objectSpace.FindObject <InternalInvoice>(CriteriaOperator.Parse(sCondition));
                        if (oldInterNo != null)
                        {
                            drData["导入结果"] = "失败";
                            drData["相关信息"] = "存在相同案卷&内容&类型的草单";
                            continue;
                        }
                        switch (sInterNo[6].ToString())
                        {
                        case "1":
                            internalType = EnumsAll.InternalType.中间;
                            break;

                        case "2":
                            internalType = EnumsAll.InternalType.OA;
                            break;

                        case "3":
                            internalType = EnumsAll.InternalType.年费;
                            break;

                        case "4":
                            internalType = EnumsAll.InternalType.新申请;
                            break;
                        }
                    }
                    var internalInvoice = objectSpace.CreateObject <InternalInvoice>();
                    internalInvoice.InternalNo = sInterNo;
                    internalInvoice.OurNo      = drData["卷号"].ToString();
                    internalInvoice.SetCaseInfo(drData["卷号"].ToString());
                    internalInvoice.CreateDate           = Convert.ToDateTime(drData["日期"].ToString());
                    internalInvoice.SendDate             = internalInvoice.CreateDate.AddDays(3);
                    internalInvoice.Deadline             = internalInvoice.CreateDate.AddDays(7);
                    internalInvoice.Type                 = drData["类别"].ToString();
                    internalInvoice.Content              = drData["内容"].ToString();
                    internalInvoice.PermissionPolicyUser =
                        objectSpace.GetObjectByKey <SysUser>(SecuritySystem.CurrentUserId);
                    internalInvoice.InternalType = internalType;
                    internalInvoice.Save();
                    objectSpace.CommitChanges();
                    drData["导入结果"] = "成功";
                }
                catch (Exception e)
                {
                    drData["导入结果"] = "失败";
                    drData["相关信息"] = e.ToString();
                    objectSpace.Rollback();
                }
            }
            return(dtFormatData);
        }
Example #16
0
 public static IBusinessObject Exist(IObjectSpace os, string name)
 {
     return(os.FindObject <IBusinessObject>(new BinaryOperator("Name", name)));
 }
        [Route("SendOrder/{Send_No}")] // ใส่ OIDSendOrderSeed ใบนำส่ง /SendOrder/226-0011
        //[JwtAuthentication]
        public IHttpActionResult SendOrderSeedDetail_ByOrderSeedID()

        {
            object        Send_No       = string.Empty;
            object        ReceiveOrgOid = string.Empty;
            Approve_Model sendDetail    = new Approve_Model();

            SendOrderSeed_Model Model = new SendOrderSeed_Model();

            try
            {
                if (HttpContext.Current.Request.Form["Send_No"].ToString() != null)
                {
                    Send_No = HttpContext.Current.Request.Form["Send_No"].ToString();
                }
                if (HttpContext.Current.Request.Form["ReceiveOrgOid"].ToString() != null)
                {
                    ReceiveOrgOid = HttpContext.Current.Request.Form["ReceiveOrgOid"].ToString();
                }
                XpoTypesInfoHelper.GetXpoTypeInfoSource();
                XafTypesInfo.Instance.RegisterEntity(typeof(SendOrderSeed));
                XPObjectSpaceProvider      directProvider = new XPObjectSpaceProvider(scc);
                List <Approve_Model>       list           = new List <Approve_Model>();
                List <SendOrderSeed_Model> list_detail    = new List <SendOrderSeed_Model>();
                IObjectSpace  ObjectSpace = directProvider.CreateObjectSpace();
                SendOrderSeed sendOrderSeed;
                sendOrderSeed = ObjectSpace.FindObject <SendOrderSeed>(CriteriaOperator.Parse("GCRecord is null and SendStatus = 2 and SendNo=? and ReceiveOrgOid=? ", Send_No, ReceiveOrgOid));
                //sendOrderSeed = ObjectSpace.GetObject<SendOrderSeed>(CriteriaOperator.Parse("GCRecord is null and SendStatus = 2 and ReceiveOrgOid=? ", null));
                if (Send_No != null)
                {
                    double sum = 0;
                    sendDetail.Send_No        = sendOrderSeed.SendNo;
                    sendDetail.SendDate       = Convert.ToDateTime(sendOrderSeed.SendDate).ToString("dd-MM-yyyy", new CultureInfo("us-US"));
                    sendDetail.SendOrgName    = sendOrderSeed.SendOrgOid.SubOrganizeName;
                    sendDetail.ReceiveOrgName = sendOrderSeed.ReceiveOrgOid.SubOrganizeName;
                    sendDetail.Remark         = sendOrderSeed.Remark;
                    sendDetail.SendStatus     = sendOrderSeed.SendStatus.ToString();
                    sendDetail.FinanceYear    = sendOrderSeed.FinanceYearOid.YearName;

                    //if (sendOrderSeed.CancelMsg == null)
                    //{
                    //    sendDetail.CancelMsg = "ไม่";
                    //}
                    //else
                    //{
                    //    sendDetail.CancelMsg = sendOrderSeed.CancelMsg;
                    //}

                    foreach (SendOrderSeedDetail row in sendOrderSeed.SendOrderSeedDetails)
                    {
                        SendOrderSeed_Model send_Detail = new SendOrderSeed_Model();
                        send_Detail.LotNumber       = row.LotNumber.LotNumber;
                        send_Detail.WeightUnit      = row.WeightUnitOid.UnitName;
                        send_Detail.AnimalSeedCode  = row.AnimalSeedCode;
                        send_Detail.AnimalSeedLevel = row.AnimalSeedLevel;
                        send_Detail.AnimalSeedName  = row.AnimalSeeName;
                        send_Detail.BudgetSource    = row.BudgetSourceOid.BudgetName;
                        send_Detail.Weight          = row.Weight.ToString();
                        send_Detail.Used            = row.Used.ToString();
                        if (row.SendOrderSeed != null)
                        {
                            send_Detail.SendOrderSeed = row.SendOrderSeed.SendNo;
                        }

                        send_Detail.AnimalSeedOid      = row.AnimalSeedOid.SeedName;
                        send_Detail.AnimalSeedLevelOid = row.AnimalSeedLevelOid.SeedLevelName;
                        send_Detail.SeedTypeOid        = row.SeedTypeOid.SeedTypeName;
                        send_Detail.Amount             = row.Amount;
                        sum = sum + row.Weight;

                        list_detail.Add(send_Detail);
                    }
                    sendDetail.Weight_All = sum.ToString() + " " + "กิโลกรัม";
                    sendDetail.objSeed    = list_detail;

                    return(Ok(sendDetail));
                }
                else
                {
                    return(BadRequest("NoData"));
                }
            }
            catch (Exception ex)
            {                      //Error case เกิดข้อผิดพลาด
                UserError err = new UserError();
                err.code    = "6"; // error จากสาเหตุอื่นๆ จะมีรายละเอียดจาก system แจ้งกลับ
                err.message = ex.Message;
                //  Return resual
                return(BadRequest(ex.Message));
            }
        }
Example #18
0
        public InitWMSDataController()
        {
            this.components = new System.ComponentModel.Container();
            this.TargetWindowType = WindowType.Main;
            var initData = new SimpleAction(this.components);
            initData.Category = "Tools";
            initData.Caption = "生成默认数据";

            initData.Id = "InitData";
            initData.Execute += (snd, e) => {

                ObjectSpace = Application.CreateObjectSpace();

                var inited = ObjectSpace.GetObjectsCount(typeof(产品), null) > 0;
                var tdch = new CIIP.Module.DatabaseUpdate.TestDataGeneratorHelper();
                if (!inited)
                {
                    var t = CreateUnit("台");

                    var g = CreateUnit("个");

                    CreateProduct("Surface 3 64G 2G", t, 2000, 2999);

                    CreateProduct("Surface 3 128G 4G", t, 2000, 4888);

                    CreateProduct("Surface Pro 3 I3 64G 4G", t, 3000, 4499);

                    CreateProduct("Surface Pro 3 I5 128G 4G", t, 4500, 5699);

                    CreateProduct("Surface Pro 3 I5 256G 8G", t, 6388, 6999);

                    CreateProduct("Surface Pro 3 I7 256G 8G", t, 7000, 8888);

                    CreateProduct("Surface Pro 3 I7 512G 8G", t, 8000, 9999);

                    CreateProduct("Surface Pro 4 CoreM 128G 8G", t, 5688, 6688);

                    CreateProduct("Surface Pro 4 I5 128G 8G", t, 6388, 7388);

                    CreateProduct("Surface Pro 4 I5 256G 8G", t, 6388, 9688);

                    CreateProduct("Surface Pro 4 I7 256G 16G", t, 6388, 13388);

                    CreateProduct("Surface Notebook I5 128G 8G", t, 10000, 11088);

                    CreateProduct("Surface Notebook I5 256G 16G", t, 10000, 14088);

                    CreateProduct("Surface Notebook I7 256G 16G", t, 13000, 15588);

                    CreateProduct("Surface Notebook I7 512G 16G", t, 15000, 20088);

                    var microsoft = CreateCompany("Microsoft", "比尔.盖茨", "13800001111", "徐家汇", true, true);

                    var google = CreateCompany("Google", "拉里·佩奇", "13988881111", "徐家汇", true, true);

                    var baidu = CreateCompany("Baidu", "李彦宏", "13900001111", "陆家嘴", true, true);

                    var tencent = CreateCompany("Tencent", "15912111211", "马化腾", "陆家嘴", true, true);

                    var ali = CreateCompany("Alibaba", "15612121212", "马云", "陆家嘴", true, true);

                    //500个客户

                }

                var area = ObjectSpace.FindObject<省份>(null);
                if (area == null)
                {
                    var js = CreateSF("江苏");
                    CreateCity(js, "苏州", "姑苏区,相城区,吴中区,虎丘区,工业园区,吴江区,张家港市,常熟市,太仓巿,昆山市");
                    CreateCity(js, "南京", "鼓楼区,白下区,玄武区,秦淮区,建邺区,下关区,雨花台区,栖霞区,高淳县,溧水县,六合区,浦口区,江宁区");

                    var tjs = CreateSF("天津");
                    CreateCity(tjs, "天津", "和平区,河东区,河西区,南开区,河北区,红桥区,滨海新区,东丽区,西青区,津南区,北辰区,武清区,宝坻区,宁河区,静海区,蓟县");

                    var cqs = CreateSF("重庆");
                    CreateCity(cqs, "重庆",
                        "渝中区,大渡口区,江北区,沙坪坝区,九龙坡区,南岸区,北碚区,渝北区,巴南区,涪陵区,綦江区,大足区,长寿区,江津区,合川区,永川区,南川区,璧山区,铜梁区,潼南区,荣昌区,万州区,梁平县,城口县,丰都县,垫江县,忠县,开县,云阳县,奉节县,巫山县,巫溪县,黔江区,武隆县,石柱土家族自治县,秀山土家族苗族自治县,酉阳土家族苗族自治县,彭水苗族土家族自治县");

                    var zjs = CreateSF("浙江");
                    CreateCity(zjs, "杭州", "市区,上城区,下城区,江干区,拱墅区,西湖区,滨江区,萧山区,余杭区,富阳区,桐庐县,淳安县,建德市,临安市");

                    var scs = CreateSF("四川");
                    CreateCity(scs, "成都", "武侯区,锦江区,青羊区,金牛区,成华区,龙泉驿区,温江区,新都区,青白江区,双流区,郫县,蒲江县,大邑县,金堂县,新津县,都江堰市,彭州市,邛崃市,崇州市");

                    var gds = CreateSF("广东");
                    CreateCity(gds, "广州", "越秀区,荔湾区,海珠区,天河区,白云区,黄埔区,番禺区,花都区,南沙区,增城区,从化区");

                    var szs = CreateSF("深圳");
                    CreateCity(szs, "深圳", "福田区,罗湖区,南山区,盐田区,宝安区,龙岗区");

                    var shs = CreateSF("上海");
                    CreateCity(shs, "上海", "黄浦区,浦东新区,徐汇区,长宁区,静安区,普陀区,虹口区,杨浦区,闵行区,宝山区,嘉定区,金山区,松江区,青浦区,奉贤区,崇明县");

                    var bjs = CreateSF("北京");
                    CreateCity(bjs, "北京", "东城区,西城区,海淀区,朝阳区,丰台区,石景山区,门头沟区,通州区,顺义区,房山区,大兴区,昌平区,怀柔区,平谷区,密云区,延庆区");
                    ObjectSpace.CommitChanges();
                    var s = ObjectSpace.GetObjects<销售区域>();

                    var customers = tdch.GetRandomNames(500);
                    var rnd = new Random();
                    foreach (var customer in customers)
                    {
                        CreateCompany(customer, customer, "13900005555", "中国", false, true, s[rnd.Next(s.Count - 1)]);
                    }

                }
            };
            this.Actions.Add(initData);
            this.RegisterActions(this.components);

            // Target required Views (via the TargetXXX properties) and create their Actions.
        }
 public override object Authenticate(IObjectSpace objectSpace) {
     if(string.IsNullOrEmpty(logonParameters.UserName)) {
         throw new UserFriendlyException("The 'User' field must not be empty.");
     }
     object user = objectSpace.FindObject<SecurityDemoUser>(new DevExpress.Data.Filtering.BinaryOperator("UserName", logonParameters.UserName));
     if(user == null) {
         throw new AuthenticationException(logonParameters.UserName);
     }
     return user;
 }
Example #20
0
        static public void ImportBuhData(IObjectSpace os, fmCAVTInvoiceRegister register)
        {
            UInt32 seq_num = 1;
            IList <fmCAVTInvoiceType>          inv_types          = os.GetObjects <fmCAVTInvoiceType>();
            IList <fmCAVTInvoiceTransferType>  inv_transfer_types = os.GetObjects <fmCAVTInvoiceTransferType>();
            IList <fmCAVTInvoiceOperationType> inv_oper_types     = os.GetObjects <fmCAVTInvoiceOperationType>();

            foreach (var invrec in register.BookBuhImport.BookBuhRecords.
                     Where(rec => rec.BookType == "P" && (rec.RecordType == "PAY" || rec.RecordType == "AIN" || rec.RecordType == "EAT") ||
                           rec.BookType == "B" && (rec.RecordType == "PAY")).
                     GroupBy(rec => new { rec.AVTInvoicePartyCode, rec.AVTInvoiceType, rec.AVTInvoiceNumber, rec.AVTInvoiceDate }).
                     OrderBy(rec => rec.Key.AVTInvoiceDate.ToString("yyyyMMdd") + rec.Key.AVTInvoiceNumber))
            {
                if (String.IsNullOrEmpty(invrec.Key.AVTInvoiceNumber.Trim()) || String.IsNullOrEmpty(invrec.Key.AVTInvoicePartyCode.Trim()))
                {
                    continue;
                }
                if (invrec.Key.AVTInvoiceType != "явт" && invrec.Key.AVTInvoiceType != "ятю" && invrec.Key.AVTInvoiceType != "ятб")
                {
                    continue;
                }
                crmCParty party = os.GetObjects <crmCParty>(new BinaryOperator("Code", invrec.Key.AVTInvoicePartyCode)).FirstOrDefault();

                fmCAVTInvoiceBase invoice = os.FindObject <fmCAVTInvoiceBase>(
                    CriteriaOperator.And(new BinaryOperator("Number", invrec.Key.AVTInvoiceNumber),
                                         new BinaryOperator("Date", invrec.Key.AVTInvoiceDate.Date, BinaryOperatorType.GreaterOrEqual),
                                         new BinaryOperator("Date", invrec.Key.AVTInvoiceDate.Date.AddDays(1), BinaryOperatorType.Less),
                                         new BinaryOperator("Supplier", register.Party)), true
                    //                                             , new BinaryOperator("Customer", party))
                    );
                if (invoice == null && invrec.Key.AVTInvoiceType == "явт")
                {
                    invoice          = os.CreateObject <fmCAVTInvoiceBase>();
                    invoice.Number   = invrec.Key.AVTInvoiceNumber;
                    invoice.Date     = invrec.Key.AVTInvoiceDate;
                    invoice.Supplier = register.Party;
                    invoice.Customer = party;
                }
                if (invoice != null)
                {
                    if (invoice.InvoiceType == null && invoice.Number != null && invoice.Number.Length > 0)
                    {
                        foreach (fmCAVTInvoiceType inv_type in inv_types)
                        {
                            if (inv_type.InvoiceDirection == fmAVTInvoiceDirection.AVTInvoiceOut &&
                                inv_type.Prefix == invoice.Number.Substring(0, 1))
                            {
                                invoice.InvoiceType = inv_type;
                            }
                        }
                    }
                    fmCAVTInvoiceRegisterLine line_check = os.FindObject <fmCAVTInvoiceRegisterLine>(
                        CriteriaOperator.And(new BinaryOperator("InvoiceVersion", invoice.Current)), true);
                    if (line_check != null)
                    {
                        continue;
                    }
//                    if (invrec.Key.AVTInvoiceType != "ятб") {
//                        foreach (fmCAVTBookBuhRecord rec in invrec) {
//                            invoice.SummAVT = invoice.SummAVT + rec.SummVAT;
//                            invoice.SummCost = invoice.SummCost + rec.SummAll - rec.SummVAT;
//                        }
//                    }
                    if (invoice.Customer == null)
                    {
                        invoice.Customer = party;
                    }
                    if (invrec.Key.AVTInvoiceNumber.StartsWith("5"))
                    {
                        invoice.Customer = invoice.Customer;
                    }
                    if (invoice.SummAVT == 0 && invoice.SummCost == 0)
                    {
                        foreach (fmCAVTBookBuhRecord rec in invrec)
                        {
                            decimal summ_vat = rec.SummVAT + rec.SummVATCost + rec.SummVATCost + rec.SummVATExp;
                            invoice.SummAVT = invoice.SummAVT + summ_vat;
                            if (rec.NDSRate == "2")
                            {
                                invoice.SummCost = invoice.SummCost + Decimal.Round(summ_vat * 100m / 18m, 2);
                            }
                            else if (rec.NDSRate == "3")
                            {
                                invoice.SummCost = invoice.SummCost + Decimal.Round(summ_vat * 100m / 10m, 2);
                            }
                        }
                    }
                    fmCAVTInvoiceRegisterLine line = register.OutLines.Where(rec => rec.Invoice == invoice).FirstOrDefault();
                    if (line == null)
                    {
                        line = os.CreateObject <fmCAVTInvoiceRegisterLine>();
                        register.OutLines.Add(line);
                    }
                    line.SequenceNumber = seq_num++;
                    line.DateTransfer   = invoice.Date;
                    line.Invoice        = invoice;
                    line.TransferType   = inv_transfer_types.Where(rec => rec.Code == "1").FirstOrDefault();
                    if (invrec.Key.AVTInvoiceType == "явт")
                    {
                        line.OperationType = inv_oper_types.Where(rec => rec.Code == "01").FirstOrDefault();
                    }
                    if (invrec.Key.AVTInvoiceType == "ятю")
                    {
                        line.OperationType = inv_oper_types.Where(rec => rec.Code == "02").FirstOrDefault();
                    }
                    if (invrec.Key.AVTInvoiceType == "ятб")
                    {
                        if (invrec.Where(rec => rec.RecordType == "SMN").Count() != 0)
                        {
                            line.OperationType = inv_oper_types.Where(rec => rec.Code == "08").FirstOrDefault();
                        }
                        if (invrec.Where(rec => rec.RecordType == "EAT").Count() != 0)
                        {
                            line.OperationType = inv_oper_types.Where(rec => rec.Code == "07").FirstOrDefault();
                        }
                    }
                }
            }
            seq_num = 1;
            foreach (var invrec in register.BookBuhImport.BookBuhRecords.
                     Where(rec => rec.BookType == "B" && (rec.RecordType == "BAY" || rec.RecordType == "AON") ||
                           rec.BookType == "P" && (rec.RecordType == "BAY")).
                     GroupBy(rec => new { rec.AVTInvoicePartyCode, rec.AVTInvoiceType, rec.AVTInvoiceRegNumber, rec.AVTInvoiceNumber, rec.AVTInvoiceDate }).
                     OrderBy(rec => rec.Key.AVTInvoiceDate.ToString("yyyyMMdd") + rec.Key.AVTInvoiceRegNumber))
            {
                if (String.IsNullOrEmpty(invrec.Key.AVTInvoiceNumber.Trim()) || String.IsNullOrEmpty(invrec.Key.AVTInvoicePartyCode.Trim()))
                {
                    continue;
                }
                if (invrec.Key.AVTInvoiceType != "явт" && invrec.Key.AVTInvoiceType != "ятб")
                {
                    continue;
                }
                crmCParty         party   = os.FindObject <crmCParty>(new BinaryOperator("Code", invrec.Key.AVTInvoicePartyCode));
                fmCAVTInvoiceBase invoice = os.FindObject <fmCAVTInvoiceBase>(
                    CriteriaOperator.And(new BinaryOperator("Number", invrec.Key.AVTInvoiceNumber),
                                         new BinaryOperator("Date", invrec.Key.AVTInvoiceDate.Date, BinaryOperatorType.GreaterOrEqual),
                                         new BinaryOperator("Date", invrec.Key.AVTInvoiceDate.Date.AddDays(1), BinaryOperatorType.Less),
                                         new BinaryOperator("Supplier", party)), true
                    //                                             , new BinaryOperator("Customer", party))
                    );

                //
                if (invoice == null)
                {
                    invoice           = os.CreateObject <fmCAVTInvoiceBase>();
                    invoice.RegNumber = invrec.Key.AVTInvoiceRegNumber;
                    invoice.Number    = invrec.Key.AVTInvoiceNumber;
                    invoice.Date      = invrec.Key.AVTInvoiceDate;
                    invoice.Supplier  = party;
                    invoice.Customer  = register.Party;
                }
                else
                {
                    fmCAVTInvoiceRegisterLine line_check = os.FindObject <fmCAVTInvoiceRegisterLine>(
                        CriteriaOperator.And(new BinaryOperator("InvoiceVersion", invoice.Current)), true);
                    if (line_check != null)
                    {
                        continue;
                    }
                }
                Decimal SummVAT_18 = invrec.Where(buhrec => buhrec.NDSRate == "2").Sum(buhrec => buhrec.SummVATCost + buhrec.SummVATExp + buhrec.SummVAT);
                Decimal SummVAT_10 = invrec.Where(buhrec => buhrec.NDSRate == "3").Sum(buhrec => buhrec.SummVATCost + buhrec.SummVATExp + buhrec.SummVAT);
                Decimal SummNoVAT  = invrec.Where(buhrec => buhrec.NDSRate == "5").Sum(buhrec => buhrec.SummAll);
//                Decimal SummCost_18 = Decimal.Round(SummVAT_18 * 100m / 18m, 2);
//                Decimal SummCost_10 = Decimal.Round(SummVAT_10 * 100m / 10m, 2);
//                SummCost_NoVAT = SummCost_NoVAT +
//                    Decimal.Round(SummNoVAT_18 * 118m / 18m, 2) +
//                    Decimal.Round(SummNoVAT_10 * 110m / 10m, 2);

                invoice.SummAVT  = SummVAT_18 + SummVAT_10;
                invoice.SummCost = SummNoVAT +
                                   Decimal.Round(SummVAT_18 * 100m / 18m, 2) +
                                   Decimal.Round(SummVAT_10 * 100m / 10m, 2);

                fmCAVTInvoiceRegisterLine line = register.InLines.Where(rec => rec.Invoice == invoice).FirstOrDefault();
                if (line == null)
                {
                    line = os.CreateObject <fmCAVTInvoiceRegisterLine>();
                    register.InLines.Add(line);
                }
                line.SequenceNumber = seq_num++;
                //                line_doc.DateTransfer = invoice.Date;
                line.Invoice      = invoice;
                line.TransferType = inv_transfer_types.Where(rec => rec.Code == "1").FirstOrDefault();
                line.DateTransfer = invrec.Select(rec => rec.BuhDocDate).Min();
                if (line.DateTransfer < DateTime.ParseExact("20130101", "yyyyMMdd", null))
                {
                    line.DateTransfer = DateTime.ParseExact("20130131", "yyyyMMdd", null);
                }
                if (line.DateTransfer < line.Invoice.Date)
                {
                    line.DateTransfer = line.Invoice.Date;
                }
                if (invrec.Key.AVTInvoiceType == "явт")
                {
                    line.OperationType = inv_oper_types.Where(rec => rec.Code == "01").FirstOrDefault();
                }
                if (invrec.Key.AVTInvoiceType == "ятб")
                {
                    if (invrec.Where(rec => rec.RecordType == "AON").Count() != 0)
                    {
                        line.OperationType = inv_oper_types.Where(rec => rec.Code == "02").FirstOrDefault();
                    }
                    if (invrec.Where(rec => rec.RecordType == "SMN").Count() != 0)
                    {
                        line.OperationType = inv_oper_types.Where(rec => rec.Code == "08").FirstOrDefault();
                    }
                    if (invrec.Where(rec => rec.RecordType == "EAT").Count() != 0)
                    {
                        line.OperationType = inv_oper_types.Where(rec => rec.Code == "07").FirstOrDefault();
                    }
                }
            }
        }
Example #21
0
        public static void AfterConstruction(IExamination examination, IObjectSpace os)
        {
            examination.Examiner = os.GetObjectByKey<Employee>(SecuritySystem.CurrentUserId);

            examination.Anamnesis = String.Empty;
            examination.Description = String.Empty;
            examination.Drugs = String.Empty;

            examination.IsPopulatedConclusion = false;

            if (examination.ConclusionFile == null)
            {
                //examination.ConclusionFile = os.CreateObject<FileSystemStoreObject>();
                examination.ConclusionFile = os.CreateObject<ConclusionFile>();
                var conclusion = examination.ConclusionFile;
                conclusion.FileName = "Conclusion.rtf";
                conclusion.OwnerId = (examination as DevExpress.ExpressApp.DC.DCBaseObject).Oid;

                var organization = os.FindObject<IOrganization>(null);
                if (organization != null)
                {
                    var template = organization.ConclusionTemplate;
                    if (template != null)
                    {
                        CreateFromTemplate(template, conclusion);
                    }
                }

                examination.ExaminationNotes = os.CreateObject<IExaminationNotes>();
            }
        }
Example #22
0
        private void EnviaC()
        {
            Anuncio obj = View.CurrentObject as Anuncio;
            Correo  cfg = obj.Session.FindObject <Correo>(null);
            Empresa emp = obj.Session.FindObject <Empresa>(null);

            if (obj != null && cfg != null)
            {
                CorreoBase objCorreo = View.ObjectSpace.CreateObject <CorreoBase>();

                objCorreo.Cuenta       = cfg.Cuenta;
                objCorreo.Identificdr  = cfg.Identificdr;
                objCorreo.Passw        = cfg.Passw;
                objCorreo.Puerto       = cfg.Puerto;
                objCorreo.SegurdSSL    = cfg.SegurdSSL;
                objCorreo.ServidorSMTP = cfg.ServidorSMTP;
                objCorreo.Usuario      = cfg.Usuario;

                objCorreo.Asunto   = "Anuncio iCPAC";
                objCorreo.Mensaje1 = obj.Mensaje;

                //CorreoSend.MandaCorreo(cfg, "*****@*****.**", obj.Mensaje, "iCPAC");
                MemoryStream mLogo = null;
                if (emp != null && emp.Logo != null)
                {
                    JpegStorageConverter jpeg = new JpegStorageConverter();

                    Byte[] arr = jpeg.ConvertToStorageType(emp.Logo) as Byte[];
                    mLogo = new MemoryStream(arr);
                }

                // string paramValue = e.ParameterCurrentValue as string;
                CorreoSend.Client(objCorreo);
                // CorreoSend.MailMssg(objCorreo, objCorreo.Asunto, "iCPAC",  mLogo);
                if (!string.IsNullOrEmpty(ParamValue))
                {
                    IObjectSpace objectSpace = Application.CreateObjectSpace();
                    Cliente      cli         = objectSpace.FindObject <Cliente>(new BinaryOperator("Clave", Cliente.ClaveFto(ParamValue)));

                    List <string> arRcpt = new List <string>();
                    if (cli != null && cli.Compania != null && cli.Compania.Direccion != null &&
                        !string.IsNullOrEmpty(cli.Compania.Direccion.Email))
                    {
                        objCorreo.Mensaje1 = string.Format("{0}{1} <br/> <br />{2}",
                                                           !string.IsNullOrEmpty(cli.Als) ? cli.Als : string.Empty, Environment.NewLine, obj.Mensaje);

                        CorreoSend.MailMssg(objCorreo, objCorreo.Asunto, "iCPAC", mLogo);
                        arRcpt.Add(cli.Compania.Direccion.Email);
                        CorreoSend.MandaCorreo2(objCorreo, arRcpt);
                    }
                }
                else
                {
                    IObjectSpace    objectSpace = Application.CreateObjectSpace();
                    IList <Cliente> clientes    = objectSpace.GetObjects <Cliente>
                                                      (new BinaryOperator("Status", EStatusPrvdClnt /*StatusTipo*/.Activo));


                    List <string> arRcpt = new List <string>();
                    foreach (Cliente cli in clientes)
                    {
                        if (cli != null && cli.Compania != null && cli.Compania.Direccion != null &&
                            !string.IsNullOrEmpty(cli.Compania.Direccion.Email))
                        {
                            if (cli.Status != Cap.Clientes.BusinessObjects.Generales.EStatusPrvdClnt.Suspendido /* Cap.Clientes.BusinessObjects.Generales.StatusTipo.Suspendido*/)
                            {
                                // CorreoSend.MandaCorreo2(objCorreo, cli.Compania.Direccion.Email);
                                if (!string.IsNullOrEmpty(cli.Als))
                                {
                                    objCorreo.Mensaje1 = string.Format("{0}{1} <br/> <br />{2}", cli.Als, Environment.NewLine, obj.Mensaje);
                                }
                                else
                                {
                                    objCorreo.Mensaje1 = obj.Mensaje;
                                }

                                arRcpt.Add(cli.Compania.Direccion.Email);

                                CorreoSend.MsgAltClear();
                                CorreoSend.MailMssg(objCorreo, objCorreo.Asunto, "iCPAC", mLogo);
                                CorreoSend.MandaCorreo2(objCorreo, /*cli.Compania.Direccion.Email*/ arRcpt);

                                arRcpt.Clear();
                            }
                        }
                    }

                    /*
                     * if (arRcpt.Count > 0)
                     *  CorreoSend.MandaCorreo2(objCorreo, / *cli.Compania.Direccion.Email* /arRcpt);*/
                }
                objCorreo.Mensaje1     =
                    objCorreo.Mensaje2 = string.Empty;

                if (mLogo != null)
                {
                    mLogo.Dispose();
                }
            }
        }
Example #23
0
 public static ISecurityUserWithRoles GetUser(this IObjectSpace objectSpace, string userName,
                                              string passWord = "", params ISecurityRole[] roles)
 => (ISecurityUserWithRoles)objectSpace.FindObject(SecuritySystem.UserType, new BinaryOperator("UserName", userName)) ??
 CreateUser(objectSpace, userName, passWord, roles);
Example #24
0
//        public override void UpdateDatabaseBeforeUpdateSchema() {
//            base.UpdateDatabaseBeforeUpdateSchema();
//            if (this.CurrentDBVersion != new Version("1.1.1.240"))
//                return;
////            ExecuteNonQueryCommand("DROP TABLE \"FmFinPlanDoc\", \"FmFinPlanPlan\", \"FmFinPlanOperation\", \"FmFinPlanJournal\" CASCADE;", false);
//        }

        public override void UpdateDatabaseAfterUpdateSchema()
        {
            base.UpdateDatabaseAfterUpdateSchema();
            if (this.CurrentDBVersion != new Version("1.1.1.240"))
            {
                return;
            }
            using (IObjectSpace os = ObjectSpace.CreateNestedObjectSpace()) {
                HrmDepartmentStruct dep_struct = os.CreateObject <HrmDepartmentStruct>();
                dep_struct._Code = "УУ";
                HrmDepartmentStructItem item = null;
                item             = os.CreateObject <HrmDepartmentStructItem>();
                item._StructType = HrmStructItemType.HRM_STRUCT_KB;
                dep_struct.Items.Add(item);
                item             = os.CreateObject <HrmDepartmentStructItem>();
                item._StructType = HrmStructItemType.HRM_STRUCT_ORION;
                dep_struct.Items.Add(item);
                item             = os.CreateObject <HrmDepartmentStructItem>();
                item._StructType = HrmStructItemType.HRM_STRUCT_OZM;
                dep_struct.Items.Add(item);
                item             = os.CreateObject <HrmDepartmentStructItem>();
                item._StructType = HrmStructItemType.HRM_STRUCT_CONTRACT;
                dep_struct.Items.Add(item);

                IList <fmCostItem> cost_items = os.GetObjects <fmCostItem>();
                fmCostItem         cost_item  = null;
                fmCFinIndex        fin_index  = null;
                fin_index           = os.FindObject <fmCFinIndex>(new BinaryOperator("Name", "ФОТ"));
                fin_index.CodeBuh   = 4;
                fin_index.Code      = fin_index.Name;
                fin_index.SortOrder = 2;
                cost_item           = cost_items.FirstOrDefault(x => x.Code == "2000");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "2001");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "2002");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "2003");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "2004");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "2005");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "2006");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "2007");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "2008");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "2011");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "2021");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                //
                fin_index           = os.FindObject <fmCFinIndex>(new BinaryOperator("Name", "Командировки"));
                fin_index.CodeBuh   = 9;
                fin_index.Code      = fin_index.Name;
                fin_index.SortOrder = 2;
                cost_item           = cost_items.FirstOrDefault(x => x.Code == "2100");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "2101");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "2102");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "2103");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                //
                fin_index           = os.FindObject <fmCFinIndex>(new BinaryOperator("Name", "Накладные"));
                fin_index.CodeBuh   = 8;
                fin_index.Code      = fin_index.Name;
                fin_index.SortOrder = 2;
                cost_item           = cost_items.FirstOrDefault(x => x.Code == "3001");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "4001");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "4010");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "3002");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "4002");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "4011");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                //
                fin_index           = os.FindObject <fmCFinIndex>(new BinaryOperator("Name", "Соц.Страх."));
                fin_index.CodeBuh   = 8;
                fin_index.Code      = fin_index.Name;
                fin_index.SortOrder = 2;
                cost_item           = cost_items.FirstOrDefault(x => x.Code == "5003");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "2012");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "2022");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                //
                fin_index           = os.FindObject <fmCFinIndex>(new BinaryOperator("Name", "Материалы"));
                fin_index.CodeBuh   = 1;
                fin_index.Code      = fin_index.Name;
                fin_index.SortOrder = 1;
                cost_item           = cost_items.FirstOrDefault(x => x.Code == "6000");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "6001");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "6002");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "6004");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "6005");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "6007");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "6009");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                //
                fin_index           = os.FindObject <fmCFinIndex>(new BinaryOperator("Name", "Оборудование"));
                fin_index.CodeBuh   = 1;
                fin_index.Code      = fin_index.Name;
                fin_index.SortOrder = 1;
                cost_item           = cost_items.FirstOrDefault(x => x.Code == "6003");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                //
                fin_index           = os.FindObject <fmCFinIndex>(new BinaryOperator("Name", "Оборудование"));
                fin_index.CodeBuh   = 1;
                fin_index.Code      = fin_index.Name;
                fin_index.SortOrder = 1;
                cost_item           = cost_items.FirstOrDefault(x => x.Code == "6006");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                //
                fin_index           = os.FindObject <fmCFinIndex>(new BinaryOperator("Name", "Смежники"));
                fin_index.CodeBuh   = 1;
                fin_index.Code      = fin_index.Name;
                fin_index.SortOrder = 1;
                cost_item           = cost_items.FirstOrDefault(x => x.Code == "6003");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "7001");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                //
                fin_index           = os.FindObject <fmCFinIndex>(new BinaryOperator("Name", "Прочие прямые"));
                fin_index.CodeBuh   = 24;
                fin_index.Code      = fin_index.Name;
                fin_index.SortOrder = 1;
                cost_item           = cost_items.FirstOrDefault(x => x.Code == "5005");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "5006");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "5007");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "5008");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "5009");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "5010");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "5011");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "7002");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "7003");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "7004");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "7005");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "7006");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "7007");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "7008");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "7009");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "7010");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "7011");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "7012");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "7013");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "7014");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "7015");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "7016");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                cost_item = cost_items.FirstOrDefault(x => x.Code == "7025");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                //
                fin_index           = os.FindObject <fmCFinIndex>(new BinaryOperator("Name", "Выручка"));
                fin_index.CodeBuh   = 94;
                fin_index.Code      = fin_index.Name;
                fin_index.SortOrder = 1;
                cost_item           = cost_items.FirstOrDefault(x => x.Code == "1000");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                //
                //
                fin_index           = os.FindObject <fmCFinIndex>(new BinaryOperator("Name", "Выручка"));
                fin_index.CodeBuh   = 94;
                fin_index.Code      = fin_index.Name;
                fin_index.SortOrder = 1;
                cost_item           = cost_items.FirstOrDefault(x => x.Code == "1000");
                if (cost_item != null)
                {
                    fin_index.CostItems.Add(cost_item);
                }
                //
                os.CommitChanges();
            }
        }
Example #25
0
        public HttpResponseMessage RegisterCusService_ByCitizenID()
        {
            string CitizenID = string.Empty;

            try


            {
                if (HttpContext.Current.Request.Form["CitizenID"].ToString() != null)
                {
                    CitizenID = HttpContext.Current.Request.Form["CitizenID"].ToString();
                }


                if (CitizenID != "")
                {
                    XpoTypesInfoHelper.GetXpoTypeInfoSource();
                    XafTypesInfo.Instance.RegisterEntity(typeof(RegisterCusService));
                    XPObjectSpaceProvider directProvider           = new XPObjectSpaceProvider(scc, null);
                    IObjectSpace          ObjectSpace              = directProvider.CreateObjectSpace();
                    RegicusService_Model  RegisterCusServicer_Info = new RegicusService_Model();
                    RegisterCusService    RegisterCusService_;
                    RegisterCusService_ = ObjectSpace.FindObject <RegisterCusService>(CriteriaOperator.Parse("GCRecord is null and CitizenID = ? ", CitizenID));
                    string TempSubDistrict = "", TempDistrict = "";
                    if (RegisterCusService_ != null)
                    {
                        RegicusService_Model item = new RegicusService_Model();
                        item.RegicusServiceOid = RegisterCusService_.Oid.ToString();
                        item.OrganizationOid   = RegisterCusService_.OrganizationOid.Oid.ToString();
                        item.RegisterDate      = RegisterCusService_.RegisterDate.ToString("dd/MM/yyyy");
                        item.CitizenID         = RegisterCusService_.CitizenID;
                        item.TitleOid          = RegisterCusService_.TitleOid.Oid.ToString();
                        item.TitleName         = RegisterCusService_.TitleOid.TitleName;
                        item.FirstNameTH       = RegisterCusService_.FirstNameTH;
                        item.LastNameTH        = RegisterCusService_.LastNameTH;
                        if (RegisterCusService_.GenderOid != null)
                        {
                            item.GenderOid = RegisterCusService_.GenderOid.Oid.ToString();
                            item.Gender    = RegisterCusService_.GenderOid.GenderName;
                        }

                        if (RegisterCusService_.BirthDate != null)
                        {
                            item.BirthDate = RegisterCusService_.BirthDate.ToString("dd/MM/yyyy");
                        }
                        if (RegisterCusService_.Tel != null)
                        {
                            item.Tel = RegisterCusService_.Tel;
                        }
                        if (RegisterCusService_.Email != null)
                        {
                            item.Email = RegisterCusService_.Email;
                        }
                        item.FullName = item.TitleName + item.FirstNameTH + " " + item.LastNameTH;

                        if (RegisterCusService_.Address != "")
                        {
                            item.Address = RegisterCusService_.Address;
                        }


                        if (RegisterCusService_.Moo != "")
                        {
                            item.Moo = RegisterCusService_.Moo;
                        }

                        if (RegisterCusService_.Soi != " ")
                        {
                            item.Soi = RegisterCusService_.Soi;
                        }

                        if (RegisterCusService_.Road != "")
                        {
                            item.Road = RegisterCusService_.Road;
                        }

                        if (RegisterCusService_.ProvinceOid != null)
                        {
                            item.ProvinceOid  = RegisterCusService_.ProvinceOid.Oid.ToString();
                            item.ProvinceName = RegisterCusService_.ProvinceOid.ProvinceNameTH;
                            if (RegisterCusService_.ProvinceOid.ProvinceNameTH.Contains("กรุงเทพ"))
                            {
                                TempSubDistrict = "แขวง";
                            }
                            else
                            {
                                TempSubDistrict = "ตำบล";
                            };
                            if (RegisterCusService_.ProvinceOid.ProvinceNameTH.Contains("กรุงเทพ"))
                            {
                                TempDistrict = "เขต";
                            }
                            else
                            {
                                TempDistrict = "อำเภอ";
                            };
                        }

                        if (RegisterCusService_.DistrictOid != null)
                        {
                            item.DistrictOid  = RegisterCusService_.DistrictOid.Oid.ToString();
                            item.DistrictName = RegisterCusService_.DistrictOid.DistrictNameTH;
                        }

                        if (RegisterCusService_.SubDistrictOid != null)
                        {
                            item.SubDistrictOid  = RegisterCusService_.SubDistrictOid.Oid.ToString();
                            item.SubDistrictName = RegisterCusService_.SubDistrictOid.SubDistrictNameTH;
                        }


                        if (RegisterCusService_.ZipCode != null)
                        {
                            item.ZipCode = RegisterCusService_.ZipCode;
                        }
                        else
                        {
                            TempDistrict = "อำเภอ";
                        };
                        item.FullAddress = "เลขที่" + " " + RegisterCusService_.Address + " หมู่ที่" + " " + checknull(RegisterCusService_.Moo) + " ถนน" + " " + checknull(RegisterCusService_.Road)
                                           + " " + TempSubDistrict + " " + RegisterCusService_.SubDistrictOid.SubDistrictNameTH + " " + TempDistrict + " " + RegisterCusService_.DistrictOid.DistrictNameTH + " " +
                                           "จังหวัด" + " " + RegisterCusService_.ProvinceOid.ProvinceNameTH + " รหัสไปรษณีย์ " + RegisterCusService_.ZipCode;


                        if (RegisterCusService_.Remark != null)
                        {
                            item.Remark = RegisterCusService_.Remark;
                        }

                        item.IsActive = RegisterCusService_.IsActive;
                        directProvider.Dispose();

                        return(Request.CreateResponse(HttpStatusCode.OK, item));
                    }


                    else
                    {
                        return(Request.CreateResponse(HttpStatusCode.NotFound, "NoData"));
                    }
                }
                else
                {
                    UserError err = new UserError();
                    err.code    = "6"; // error จากสาเหตุอื่นๆ จะมีรายละเอียดจาก system แจ้งกลับ
                    err.message = "กรุณาระบุเลขบัตรประชาชน";
                    //  Return resual
                    return(Request.CreateResponse(HttpStatusCode.NotFound, err));
                }
            }
            catch (Exception ex)
            {
                UserError err = new UserError();
                err.code    = "6"; // error จากสาเหตุอื่นๆ จะมีรายละเอียดจาก system แจ้งกลับ
                err.message = ex.Message;
                //  Return resual
                return(Request.CreateResponse(HttpStatusCode.BadRequest, err));
            }
        }
Example #26
0
        private int LoadScan(Dictionary <string, string> ScanDecodeDictionary, ObjectChangedEventArgs e)
        {
            bool   addCount = false;
            string pstring;

            ScanDecodeDictionary.TryGetValue("01", out pstring);

            string pItemnumber = pstring;


            ScanDecodeDictionary.TryGetValue("17", out pstring);
            string pExpDt = pstring;

            ScanDecodeDictionary.TryGetValue("10", out pstring);
            string pLot = pstring;

            ScanDecodeDictionary.TryGetValue("21", out pstring);
            string pSerialNumber = pstring;
            int    cc            = 0;

            cc = cc++;
            IObjectSpace objectSpace = Application.CreateObjectSpace();
            SOHeader     SOH         = objectSpace.CreateObject <SOHeader>();

            SOH = objectSpace.GetObject <SOHeader>((SOHeader)View.CurrentObject);
            SOItemDistibution SID = new SOItemDistibution(SOH.Session);

            // lets see if the serial number exists in so
            CriteriaOperator  SerialCriteria = CriteriaOperator.Parse("[ItemNumber] = ? and [SerialNumber] = ?", pItemnumber, pSerialNumber);
            SOPackingSerialNo SOPSN          = (SOPackingSerialNo)objectSpace.FindObject(typeof(SOPackingSerialNo), SerialCriteria);

            if (SOPSN != null)
            {
                return(-1);
            }

            else // Lets add the serial number in the serial packing list

            {
                SOPSN                = new SOPackingSerialNo(SOH.Session);
                SOPSN.SalesOrder     = SOH;
                SOPSN.ItemNumber     = pItemnumber.Substring(3);
                SOPSN.ShipQty        = 1;
                SOPSN.Lot            = pLot;
                SOPSN.ShipQty        = 1;
                SOPSN.SerialNumber   = pSerialNumber;
                SOPSN.Lot            = pLot;
                SOPSN.DateEntered    = System.DateTime.Today;
                SOPSN.UserName       = SecuritySystem.CurrentUserName;
                SOPSN.ExpirationDate = DateTime.ParseExact(pExpDt, "yyMMdd", CultureInfo.CurrentCulture);
                SOPSN.Save();
                SOH.Session.CommitTransaction();
                addCount = true;
            }
            // lets see if item exists on the  SO Packing table

            CriteriaOperator ItemCriteria = CriteriaOperator.Parse("[ItemNumber] = ? ", pItemnumber);
            SOPacking        SOP          = (SOPacking)objectSpace.FindObject(typeof(SOPacking), ItemCriteria);

            if (addCount)
            {
                if (SOP != null)
                {
                    SOP.ItemQty = SOP.ItemQty++;
                }
                else
                {
                    SOP            = new SOPacking(SOH.Session);
                    SOP.ItemNumber = pItemnumber;
                    SOP.SalesOrder = SOH;
                    SOP.ItemQty    = 1;
                }
                SOP.Save();
            }
            SOH.Save();
            SOH.Session.CommitTransaction();
            SOH.Reload();
            SOH.SOPacking.Reload();
            SOH.SoPackingSerialNumbers.Reload();
            SOH.Scan = null;
            return(0);
        }
        public IHttpActionResult RegisterOrgeService()
        {
            string TempService_           = string.Empty;
            registerOrgeService Regi_Orge = new registerOrgeService();

            try
            {
                string  requestString = Request.Content.ReadAsStringAsync().Result;
                JObject jObject       = (JObject)JsonConvert.DeserializeObject(requestString);
                if (jObject != null)
                {
                    Regi_Orge.OrganizationOid = jObject.SelectToken("OrganizationOid").Value <string>();
                    Regi_Orge.OrgeServiceName = jObject.SelectToken("OrgeServiceName").Value <string>();
                    Regi_Orge.Tel             = jObject.SelectToken("Tel").Value <string>();
                    Regi_Orge.Email           = jObject.SelectToken("Email").Value <string>();
                    Regi_Orge.Address         = jObject.SelectToken("Address").Value <string>();
                    Regi_Orge.Moo             = jObject.SelectToken("Moo").Value <string>();
                    Regi_Orge.Soi             = jObject.SelectToken("Soi").Value <string>();
                    Regi_Orge.Road            = jObject.SelectToken("Road").Value <string>();
                    //Regi_subscriber.Tel = jObject.SelectToken("Tel").Value<string>();
                    //Regi_subscriber.Email = jObject.SelectToken("Email").Value<string>();
                    //Regi_subscriber.DisPlayName = jObject.SelectToken("DisPlayName").Value<string>();
                    //if (jObject.SelectToken("Moo") == null)
                    //{
                    //    Regi_subscriber.Moo = string.Empty;
                    //}
                    //else
                    //{
                    //    Regi_subscriber.Moo = jObject.SelectToken("Moo").Value<string>();
                    //}

                    //if (jObject.SelectToken("Soi") == null)
                    //{
                    //    Regi_subscriber.Soi = string.Empty;
                    //}
                    //else
                    //{
                    //    Regi_subscriber.Soi = jObject.SelectToken("Soi").Value<string>();
                    //}

                    //if (jObject.SelectToken("Road") == null)
                    //{
                    //    Regi_subscriber.Road = string.Empty;
                    //}
                    //else
                    //{
                    //    Regi_subscriber.Road = jObject.SelectToken("Road").Value<string>();
                    //}

                    Regi_Orge.ProvinceOid    = jObject.SelectToken("ProvinceOid").Value <string>();
                    Regi_Orge.DistrictOid    = jObject.SelectToken("DistrictOid").Value <string>();
                    Regi_Orge.SubDistrictOid = jObject.SelectToken("SubDistrictOid").Value <string>();
                    Regi_Orge.ZipCode        = jObject.SelectToken("ZipCode").Value <string>();
                    //Regi_subscriber.FullAddress = jObject.SelectToken("FullAddress").Value<string>();
                }


                XpoTypesInfoHelper.GetXpoTypeInfoSource();
                XPObjectSpaceProvider osProvider  = new XPObjectSpaceProvider(scc, null);
                IObjectSpace          objectSpace = osProvider.CreateObjectSpace();


                nutrition.Module.OrgeService Regi_OrgeService;

                XafTypesInfo.Instance.RegisterEntity(typeof(nutrition.Module.OrgeService));
                Regi_OrgeService = objectSpace.CreateObject <OrgeService>();
                Regi_OrgeService.OrganizationOid = objectSpace.FindObject <Organization>(CriteriaOperator.Parse("GCRecord is null and Status = 1 ", Regi_Orge.OrganizationOid));
                Regi_OrgeService.OrgeServiceName = Regi_Orge.OrgeServiceName;
                Regi_OrgeService.Tel             = Regi_Orge.Tel;
                Regi_OrgeService.Email           = Regi_Orge.Email;
                Regi_OrgeService.Address         = Regi_Orge.Address;
                Regi_OrgeService.Moo             = Regi_Orge.Moo;
                Regi_OrgeService.Soi             = Regi_Orge.Soi;
                Regi_OrgeService.Road            = Regi_Orge.Road;
                Regi_OrgeService.ProvinceOid     = objectSpace.FindObject <Province>(CriteriaOperator.Parse("GCRecord is null and Status = 1 ", Regi_Orge.ProvinceOid));
                Regi_OrgeService.DistrictOid     = objectSpace.FindObject <District>(CriteriaOperator.Parse("GCRecord is null and Status = 1 ", Regi_Orge.DistrictOid));
                Regi_OrgeService.SubDistrictOid  = objectSpace.FindObject <SubDistrict>(CriteriaOperator.Parse("GCRecord is null and Status = 1 ", Regi_Orge.SubDistrictOid));


                objectSpace.CommitChanges();

                return(Ok(true));

                {
                    return(BadRequest());
                }
            }

            catch (Exception ex)
            {
                //Error case เกิดข้อผิดพลาด
                UserError err = new UserError();
                err.status = "ผิดพลาด";
                err.code   = "6"; // error จากสาเหตุอื่นๆ จะมีรายละเอียดจาก system แจ้งกลับ

                err.message = ex.Message;
                //   Return resual
                return(BadRequest(ex.Message));
            }
        }
Example #28
0
        public static DataTable ImportData(DataTable dtExcelData, IObjectSpace objectSpace)
        {
            var dtFormatData = dtExcelData.Copy();

            dtFormatData.Columns.Add("导入结果");
            dtFormatData.Columns.Add("相关信息");

            DataColumn dcInternalType = null;

            if (dtFormatData.Columns.Contains("草单类型"))
            {
                dcInternalType = dtFormatData.Columns["草单类型"];
            }
            DataColumn dcType = null;

            if (dtFormatData.Columns.Contains("类别"))
            {
                dcType = dtFormatData.Columns["类别"];
            }
            DataColumn dcFInvoiceNo = null;

            if (dtFormatData.Columns.Contains("外所账单编号"))
            {
                dcFInvoiceNo = dtFormatData.Columns["外所账单编号"];
            }

            if (!dtFormatData.Columns.Contains("我方卷号"))
            {
                var drData = dtFormatData.NewRow();
                drData["导入结果"] = "失败";
                drData["相关信息"] = "导入表中不存在我方卷号列";
                dtFormatData.Rows.InsertAt(drData, 0);
                return(dtFormatData);
            }
            if (!dtFormatData.Columns.Contains("记录日"))
            {
                var drData = dtFormatData.NewRow();
                drData["导入结果"] = "失败";
                drData["相关信息"] = "导入表中不存在记录日列";
                dtFormatData.Rows.InsertAt(drData, 0);
                return(dtFormatData);
            }

            foreach (DataRow drData in dtFormatData.Rows)
            {
                try
                {
                    if (string.IsNullOrWhiteSpace(drData["我方卷号"]?.ToString()))
                    {
                        drData["导入结果"] = "失败";
                        drData["相关信息"] = "我方卷号为空";
                        continue;
                    }
                    if (string.IsNullOrWhiteSpace(drData["记录日"]?.ToString()))
                    {
                        drData["导入结果"] = "失败";
                        drData["相关信息"] = "记录日为空";
                        continue;
                    }
                    EnumsAll.InternalType sInternalType;
                    if (dcInternalType != null && !string.IsNullOrWhiteSpace(drData["草单类型"]?.ToString()))
                    {
                        if (!Enum.TryParse(drData["草单类型"]?.ToString(), out sInternalType))
                        {
                            drData["导入结果"] = "失败";
                            drData["相关信息"] = "草单类型解析错误";
                            continue;
                        }
                    }
                    else if (dcType != null && !string.IsNullOrWhiteSpace(drData["类别"]?.ToString()))
                    {
                        switch (drData["类别"]?.ToString())
                        {
                        case "E-A":
                        case "E-B":
                        case "E-U":
                        case "SE":
                        case "U":
                        case "A":
                        case "B":
                            sInternalType = EnumsAll.InternalType.新申请;
                            break;

                        case "E-D":
                        case "D":
                            sInternalType = EnumsAll.InternalType.中间;
                            break;

                        case "E-E":
                        case "E":
                        case "E-F":
                        case "F":
                        case "E-X":
                        case "X":
                        case "E-W":
                        case "W":
                            sInternalType = EnumsAll.InternalType.OA;
                            break;

                        case "C":
                        case "E-S":
                        case "S":
                            sInternalType = EnumsAll.InternalType.年费;
                            break;

                        case "DJ":
                            sInternalType = EnumsAll.InternalType.特殊案件;
                            break;

                        case "P":
                            sInternalType = EnumsAll.InternalType.国外申请;
                            break;

                        case "E-G":
                        case "G":
                            sInternalType = EnumsAll.InternalType.其他;
                            break;

                        default:
                            drData["导入结果"] = "失败";
                            drData["相关信息"] = "类别解析错误";
                            continue;
                        }
                    }
                    else
                    {
                        drData["导入结果"] = "失败";
                        drData["相关信息"] = "缺少类别或草单类型";
                        continue;
                    }
                    if (dcFInvoiceNo != null && !string.IsNullOrWhiteSpace(drData["外所账单编号"]?.ToString()))
                    {
                        var internalNo = objectSpace.FindObject <InternalInvoice>(CriteriaOperator.Parse($"FirmNo = '{drData["外所账单编号"]}' And OurNo = '{drData["我方卷号"]}'"));
                        if (internalNo != null)
                        {
                            drData["导入结果"] = "失败";
                            drData["相关信息"] = "存在相同案卷&外所账单编号的草单";
                            continue;
                        }
                    }
                    var internalNo1 = objectSpace.FindObject <InternalInvoice>(CriteriaOperator.Parse($"InternalType = '{sInternalType}' And OurNo = '{drData["我方卷号"]}' And Content = ' '"));
                    if (internalNo1 != null)
                    {
                        drData["导入结果"] = "失败";
                        drData["相关信息"] = "存在相同案卷&草单类型&内容的草单";
                        continue;
                    }

                    var internalInvoice = objectSpace.CreateObject <InternalInvoice>();
                    internalInvoice.OurNo = drData["我方卷号"].ToString();
                    internalInvoice.SetCaseInfo(drData["我方卷号"].ToString());
                    internalInvoice.CreateDate           = Convert.ToDateTime(drData["记录日"].ToString());
                    internalInvoice.SendDate             = internalInvoice.CreateDate.AddDays(3);
                    internalInvoice.Deadline             = internalInvoice.CreateDate.AddDays(7);
                    internalInvoice.Content              = " ";
                    internalInvoice.PermissionPolicyUser =
                        objectSpace.GetObjectByKey <SysUser>(SecuritySystem.CurrentUserId);
                    internalInvoice.InternalType = sInternalType;
                    if (dcFInvoiceNo != null && !string.IsNullOrWhiteSpace(drData["外所账单编号"]?.ToString()))
                    {
                        internalInvoice.FirmNo = drData["外所账单编号"].ToString();
                        //internalInvoice.IsFAgencyInvoice = true;
                    }
                    internalInvoice.Save();
                    objectSpace.CommitChanges();
                    drData["导入结果"] = "成功";
                }
                catch (Exception e)
                {
                    drData["导入结果"] = "失败";
                    drData["相关信息"] = e.ToString();
                    objectSpace.Rollback();
                }
            }
            return(dtFormatData);
        }
Example #29
0
        public HttpResponseMessage OrgeCustomer_All()
        {
            string OrgeServiceName = string.Empty;

            try

            {
                if (HttpContext.Current.Request.Form["OrgeServiceName"].ToString() != null)
                {
                    OrgeServiceName = HttpContext.Current.Request.Form["OrgeServiceName"].ToString();
                }

                XpoTypesInfoHelper.GetXpoTypeInfoSource();
                XafTypesInfo.Instance.RegisterEntity(typeof(OrgeService));
                XPObjectSpaceProvider          directProvider = new XPObjectSpaceProvider(scc, null);
                IObjectSpace                   ObjectSpace    = directProvider.CreateObjectSpace();
                OrgeService_info               Customer_Info  = new OrgeService_info();
                List <OrgeService_info>        list           = new List <OrgeService_info>();
                List <OrgeServiceDetail_Model> list_detail    = new List <OrgeServiceDetail_Model>();
                OrgeService OrgeService_;
                OrgeService_ = ObjectSpace.FindObject <OrgeService>(CriteriaOperator.Parse("GCRecord is null and OrgeServiceName = ? ", OrgeServiceName));
                DataSet ds = SqlHelper.ExecuteDataset(scc, CommandType.Text, "select OrgeServiceName from OrgeService where OrgeServiceName = '" + OrgeServiceName + "'");
                if (ds.Tables[0].Rows.Count != 0)
                {
                    //Customer_Info.OrganizationOid = row.OrganizationOid.OrganizeNameTH;
                    //   Customer_Info.OrgeServiceID = row.or
                    Customer_Info.OrgeServiceName = OrgeService_.OrgeServiceName;
                    Customer_Info.Tel             = OrgeService_.Tel;
                    if (OrgeService_.Email == null)
                    {
                        Customer_Info.Email = "ไม่พบข้อมูลอีเมล์";
                    }
                    else
                    {
                        Customer_Info.Email = OrgeService_.Email;
                    }
                    if (OrgeService_.Address == null)
                    {
                        Customer_Info.Address = "ไม่พบมูลบ้านเลขที่";
                    }
                    else
                    {
                        Customer_Info.Address = OrgeService_.Address;
                    }

                    if (OrgeService_.Moo == null)
                    {
                        Customer_Info.Moo = "ไม่พบข้อมูลหมู่";
                    }
                    else
                    {
                        Customer_Info.Moo = OrgeService_.Moo;
                    }
                    if (OrgeService_.Soi == null)
                    {
                        Customer_Info.Soi = "ไม่พบข้อมูลซอย";
                    }
                    else
                    {
                        Customer_Info.Soi = OrgeService_.Soi;
                    }

                    if (OrgeService_.Road == null)
                    {
                        Customer_Info.Road = "ไม่พบข้อมูลถนน";
                    }
                    else
                    {
                        Customer_Info.Road = OrgeService_.Road;
                    }
                    if (OrgeService_.ProvinceOid == null)
                    {
                        Customer_Info.ProvinceName = "ไม่พบข้อมูลจังหวัด";
                    }
                    else
                    {
                        Customer_Info.ProvinceName = OrgeService_.ProvinceOid.ProvinceNameTH;
                    }
                    if (OrgeService_.DistrictOid == null)
                    {
                        Customer_Info.DistrictName = "ไม่พบข้อมูลอำเภอ";
                    }
                    else
                    {
                        Customer_Info.DistrictName = OrgeService_.DistrictOid.DistrictNameTH;
                    }
                    if (OrgeService_.SubDistrictOid == null)
                    {
                        Customer_Info.SubDistrictName = "ไม่พบข้อมูลตำบล";
                    }
                    else
                    {
                        Customer_Info.SubDistrictName = OrgeService_.SubDistrictOid.SubDistrictNameTH;
                    }

                    if (OrgeService_.ZipCode == null)
                    {
                        Customer_Info.ZipCode = "ไม่พบข้อมูลรหัสไปรษณีย์";
                    }
                    else
                    {
                        Customer_Info.ZipCode = OrgeService_.ZipCode;
                    }

                    string TempSubDistrict, TempDistrict;
                    if (OrgeService_.ProvinceOid.ProvinceNameTH.Contains("กรุงเทพ"))
                    {
                        TempSubDistrict = "แขวง";
                    }
                    else
                    {
                        TempSubDistrict = "ตำบล";
                    };

                    if (OrgeService_.ProvinceOid.ProvinceNameTH.Contains("กรุงเทพ"))
                    {
                        TempDistrict = "เขต";
                    }
                    else
                    {
                        TempDistrict = "อำเภอ";
                    };

                    Customer_Info.FullAddress = "เลขที่" + " " + Customer_Info.Address + " หมู่ที่" + " " + checknull(Customer_Info.Moo) + " ถนน" + " " + checknull(Customer_Info.Road) + " " + TempSubDistrict
                                                + " " + Customer_Info.SubDistrictName + " " + TempDistrict + " " + Customer_Info.DistrictName + " " +
                                                "จังหวัด" + " " + Customer_Info.ProvinceName + " รหัสไปรษณีย์ " + Customer_Info.ZipCode;

                    foreach (OrgeServiceDetail row in OrgeService_.OrgeServiceDetails)
                    {
                        OrgeServiceDetail_Model Model = new OrgeServiceDetail_Model();
                        Model.OrgeServiceOid    = row.OrgeServiceOid.OrgeServiceName;
                        Model.ServiceTypeOid    = row.ServiceTypeOid.ServiceTypeName;
                        Model.SubServiceTypeOid = row.SubServiceTypeOid.ServiceTypeName;
                        list_detail.Add(Model);
                    }
                    Customer_Info.OrgeServiceDetails = list_detail;
                    return(Request.CreateResponse(HttpStatusCode.OK, Customer_Info));
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "NoData"));
                }
            }
            catch (Exception ex)
            {
                UserError err = new UserError();
                err.code    = "6"; // error จากสาเหตุอื่นๆ จะมีรายละเอียดจาก system แจ้งกลับ
                err.message = ex.Message;
                //  Return resual
                return(Request.CreateResponse(HttpStatusCode.BadRequest, err));
            }
        }
Example #30
0
 public static ModuleArtifact CreateArtifact(IObjectSpace objectSpace, Type artifactType){
     var assemblyName = artifactType.Assembly.GetName().Name;
     var moduleChild = objectSpace.FindObject<ModuleChild>(child => child.AssemblyName == assemblyName);
     var moduleArtifactType = GetModuleArtifactType(artifactType);
     return CreateArtifact(moduleChild, moduleArtifactType,objectSpace,  artifactType);
 }
Example #31
0
        /// <summary>
        /// Imports the ticket.
        /// </summary>
        /// <param name="objectSpace">The object space.</param>
        /// <param name="source">The source.</param>
        /// <returns>Imported ticket</returns>
        public static Ticket ImportTicket(IObjectSpace objectSpace, byte[] source)
        {
            Ticket result = null;
            if (source != null && source.Length > 0)
            {
                source = XafDeltaModule.Instance.PackService.UnpackBytes(source, "");
                using (var ms = new MemoryStream(source))
                using (var xml = XmlReader.Create(ms))
                {
                    xml.MoveToContent();
                    try
                    {
                        xml.ReadStartElement();

                        var ticketDateTime = DateTime.ParseExact(xml.ReadElementString("TicketDateTime"), "R", null).ToLocalTime();

                        var ticketNodeId = xml.ReadElementString("TicketNodeId");
                        var eventType =
                            (PackageEventType) Enum.Parse(typeof (PackageEventType), xml.ReadElementString("EventType"));
                        var packageFileName = xml.ReadElementString("PackageFileName");
                        var comments = xml.ReadElementString("Comments");
                        var userName = xml.ReadElementString("UserName");

                        xml.ReadEndElement();

                        var package =
                            objectSpace.FindObject<Package>(CriteriaOperator.Parse("FileName = ?", packageFileName));
                        if (package != null)
                        {
                            result = objectSpace.CreateObject<Ticket>();
                            result.Package = package;
                            result.Comments = comments;
                            result.TicketDateTime = ticketDateTime;
                            result.TicketNodeId = ticketNodeId;
                            result.PackageEventType = eventType;
                            result.UserName = userName;
                            result.ProcessingDateTime = DateTime.UtcNow;
                        }
                    }
                    finally
                    {
                        xml.Close();
                        ms.Close();
                    }
                }
            }
            return result;
        }
Example #32
0
        public static void GetData(IObjectSpace Space)
        {
            Exchange  CurrentExchange = Space.FindObject <Exchange>(new BinaryOperator("Name", "Bitfinex"));
            OrderType OrderTypeSell   = Space.FindObject <OrderType>(new BinaryOperator("Name", "Sell"));
            OrderType OrderTypeBuy    = Space.FindObject <OrderType>(new BinaryOperator("Name", "Buy"));
            float     currentAsk      = 0;
            float     currentBid      = 0;

            var doneEvent = new AutoResetEvent(false);


            using (var ws = new WebSocketSharp.WebSocket("wss://api.bitfinex.com/ws/"))
            {
                string message = "{\"event\":\"ping\"}";

                string getUSDOrderBookRAW = "{\"event\":\"subscribe\",\"channel\":\"book\",\"pair\":\"BTCUSD\",\"prec\":\"R0\"}";

                string getusdorderbook = "{\"event\":\"subscribe\",\"channel\":\"book\",\"pair\":\"BTCUSD\",\"prec\":\"P0\",\"freq\":\"F0\",\"count\":1}";



                ws.OnMessage += (sender, e) =>
                {
                    try
                    {
                        //   Console.WriteLine("drag0n says: " + e.Data);
                        dynamic queryData = JsonConvert.DeserializeObject(e.Data);
                        float   price     = queryData[1];
                        float   amount    = queryData[3];


                        if (amount > 0)
                        {
                            //new bid order added

                            // currentBid = price;
                            //         Console.WriteLine("Bid " + price + "  " + amount);

                            Order newSell = Space.CreateObject <Order>();
                            newSell.OrderType = OrderTypeBuy;
                            newSell.Amount    = Convert.ToDecimal(amount);
                            newSell.Price     = Convert.ToDecimal(price);

                            CurrentExchange.CurrentOrder.Add(newSell);
                            Space.CommitChanges();
                            //   CreateArbTrade((decimal)0.5, "BitStamp", "quadrigacx.com", Space);
                            ArbitrageTradeHelper.CreateArbTrade((decimal)0.5, "quadrigacx.com", "Bitfinex", Space);
                        }
                        else if (amount < 0)
                        {
                            //new ask order added

                            //    Console.WriteLine("Ask " + price + "  " + amount);
                            Order newSell = Space.CreateObject <Order>();
                            newSell.OrderType = OrderTypeSell;
                            newSell.Amount    = Convert.ToDecimal(amount * -1);
                            newSell.Price     = Convert.ToDecimal(price);

                            CurrentExchange.CurrentOrder.Add(newSell);
                            Space.CommitChanges();
                            ArbitrageTradeHelper.CreateArbTrade((decimal)0.5, "Bitfinex", "quadrigacx.com", Space);

                            // CreateArbTrade((decimal)0.5, "BitStamp", "quadrigacx.com", Space);
                            //   Console.WriteLine("Ask " + price + "  " + amount);
                        }
                    }
                    catch (Exception ex)
                    {
                        //  Console.WriteLine(ex.Message);
                    }
                };

                ws.Connect();

                ws.Send(getusdorderbook);
                //  Console.Read();
                doneEvent.WaitOne();
            }
        }
Example #33
0
 /// <summary>
 /// Gets the instance.
 /// </summary>
 /// <param name="objectSpace">The object space.</param>
 /// <returns>Package marker singleton for specified object space</returns>
 public static PackageMarker GetInstance(IObjectSpace objectSpace)
 {
     return objectSpace.FindObject<PackageMarker>(null, true);
 }
Example #34
0
        public static Int32 GetNextNumber(IObjectSpace os, TrwPartyKppSequenceType seq_type, Guid party_oid)
        {
            var cur_num = os.FindObject <TrwPartyKppSequence>(
                new BinaryOperator("SequenceType", seq_type) &
                new BinaryOperator("IsCurrent", true),
                true);

            if (cur_num == null)
            {
                cur_num = os.CreateObject <TrwPartyKppSequence>();
                switch (seq_type)
                {
                case TrwPartyKppSequenceType.PARTY_TYPE_OTHER_CUSTOMER:
                    cur_num.Number = 1;
                    break;

                case TrwPartyKppSequenceType.PARTY_TYPE_OTHER_SUPPLIER:
                    cur_num.Number = 2;
                    break;

                case TrwPartyKppSequenceType.PARTY_TYPE_SINGLE_DEAL:
                    cur_num.Number = 50;
                    break;

                case TrwPartyKppSequenceType.PARTY_TYPE_INTERNAL:
                    cur_num.Number = 3;
                    break;

                case TrwPartyKppSequenceType.PARTY_TYPE_MARKET2:
                    cur_num.Number = 2000;
                    break;

                case TrwPartyKppSequenceType.PARTY_TYPE_MARKET1:
                    cur_num.Number = 100;
                    break;

                case TrwPartyKppSequenceType.PARTY_TYPE_PAY_INTERMEDIA:
                    cur_num.Number = 1000;
                    break;
                }
                cur_num.SequenceType = seq_type;
                cur_num.IsCurrent    = true;
                cur_num.TrwPartyOid  = party_oid;
                os.CommitChanges();
                return(cur_num.Number);
            }
            var num = os.FindObject <TrwPartyKppSequence>(
                new BinaryOperator("TrwPartyOid", party_oid) &
                new BinaryOperator("SequenceType", seq_type),
                true);

            if (num != null)
            {
                return(num.Number);
            }
            switch (seq_type)
            {
            case TrwPartyKppSequenceType.PARTY_TYPE_OTHER_CUSTOMER:
            case TrwPartyKppSequenceType.PARTY_TYPE_OTHER_SUPPLIER:
            case TrwPartyKppSequenceType.PARTY_TYPE_SINGLE_DEAL:
                throw new InvalidOperationException("Can be only single");

            case TrwPartyKppSequenceType.PARTY_TYPE_INTERNAL:
            case TrwPartyKppSequenceType.PARTY_TYPE_MARKET1:
            case TrwPartyKppSequenceType.PARTY_TYPE_MARKET2:
                num = os.CreateObject <TrwPartyKppSequence>();
                num.SequenceType  = seq_type;
                num.IsCurrent     = true;
                num.Number        = cur_num.Number + 1;
                num.TrwPartyOid   = party_oid;
                cur_num.IsCurrent = null;
                os.CommitChanges();
                return(num.Number);

            default:
                throw new ArgumentOutOfRangeException("Unknow");
            }
        }
        public IHttpActionResult ApprovalSend_SupplierUseProduct(string Send_No)
        {
            SendOrderSeed_Model Model = new SendOrderSeed_Model();

            try
            {
                XPObjectSpaceProvider directProvider = new XPObjectSpaceProvider(scc, null);
                IObjectSpace          ObjectSpace    = directProvider.CreateObjectSpace();
                sendSeed_info         sendDetail     = new sendSeed_info();
                XpoTypesInfoHelper.GetXpoTypeInfoSource();
                XafTypesInfo.Instance.RegisterEntity(typeof(SendOrderSeed));
                SendOrderSeed ObjMaster;
                ObjMaster = ObjectSpace.FindObject <SendOrderSeed>(CriteriaOperator.Parse("SendNo=?", Send_No));
                List <SendOrderSeed_Model> list_detail = new List <SendOrderSeed_Model>();

                ;
                //SendOrderSeed sendOrderSeed;
                //sendOrderSeed = ObjectSpace.FindObject<SendOrderSeed>(CriteriaOperator.Parse("SendNo=?", Send_No));

                DataSet ds = SqlHelper.ExecuteDataset(scc, CommandType.Text, "select SendNo from SendOrderSeed where SendNo = '" + Send_No + "'");
                if (ds.Tables[0].Rows.Count != 0)
                {
                    double sum = 0;
                    //sendDetail.Oid = sendOrderSeed.Oid;
                    //sendDetail.Send_No = sendOrderSeed.SendNo;
                    //sendDetail.SendDate = Convert.ToDateTime(sendOrderSeed.SendDate).ToString("dd-MM-yyyy", new CultureInfo("us-US"));
                    //sendDetail.SendOrgOid = sendOrderSeed.SendOrgOid.Oid;
                    //sendDetail.SendOrgName = sendOrderSeed.SendOrgOid.SubOrganizeName;
                    //sendDetail.ReceiveOrgoid = sendOrderSeed.ReceiveOrgOid.Oid;
                    //sendDetail.ReceiveOrgName = sendOrderSeed.ReceiveOrgOid.SubOrganizeName;
                    //sendDetail.FinanceYearOid = sendOrderSeed.FinanceYearOid;
                    //sendDetail.FinanceYear = sendOrderSeed.FinanceYearOid.YearName;

                    SendOrderSeed_Model objsend_Detail = new SendOrderSeed_Model();
                    foreach (SendOrderSeedDetail row in ObjMaster.SendOrderSeedDetails)
                    {
                        objsend_Detail.LotNumber = row.LotNumber.Oid;

                        objsend_Detail.WeightUnit         = row.WeightUnitOid.UnitName;
                        objsend_Detail.AnimalSeedLevelOid = row.AnimalSeedLevelOid;
                        objsend_Detail.BudgetSourceOid    = row.BudgetSourceOid;
                        objsend_Detail.BudgetSource       = row.BudgetSourceOid.BudgetName;
                        objsend_Detail.Weight             = row.Weight.ToString();
                        objsend_Detail.Used               = row.Used.ToString();
                        objsend_Detail.AnimalSeedOid      = row.AnimalSeedOid;
                        objsend_Detail.AnimalSeedLevelOid = row.AnimalSeedLevelOid;
                        objsend_Detail.SeedTypeOid        = row.SeedTypeOid.SeedTypeName;
                        objsend_Detail.Amount             = row.Amount;
                        sum = sum + row.Weight;
                        list_detail.Add(objsend_Detail);
                    }
                    nutrition.Module.StockSeedInfo ObjStockSeedInfoInfo;
                    var objSupplierProduct = ObjectSpace.FindObject <SupplierProductModifyDetail>(CriteriaOperator.Parse("Oid =?", objsend_Detail.LotNumber));

                    var objStockSeedInfo = ObjectSpace.GetObjects <StockSeedInfo>(CriteriaOperator.Parse("OrganizationOid= ? and FinanceYearOid=? and BudgetSourceOid=? and AnimalSeedOid=? and AnimalSeedLevelOid=? ", ObjMaster.SendOrgOid.Oid, ObjMaster.FinanceYearOid, objsend_Detail.BudgetSourceOid, objsend_Detail.AnimalSeedOid
                                                                                                         , objsend_Detail.AnimalSeedLevelOid, objsend_Detail.LotNumber));
                    if (objStockSeedInfo == null)
                    {
                        //var stockSeedInfos = from Item in objStockSeedInfo
                        //                     orderby Item.StockDate descending
                        //                     select Item;
                        XafTypesInfo.Instance.RegisterEntity(typeof(StockSeedInfo));
                        ObjStockSeedInfoInfo = ObjectSpace.CreateObject <StockSeedInfo>();

                        ObjStockSeedInfoInfo.StockDate          = DateTime.Now;
                        ObjStockSeedInfoInfo.OrganizationOid    = ObjMaster.SendOrgOid;
                        ObjStockSeedInfoInfo.FinanceYearOid     = ObjMaster.FinanceYearOid;
                        ObjStockSeedInfoInfo.BudgetSourceOid    = objSupplierProduct.BudgetSourceOid;
                        ObjStockSeedInfoInfo.AnimalSeedOid      = objSupplierProduct.AnimalSeedOid;
                        ObjStockSeedInfoInfo.AnimalSeedLevelOid = objSupplierProduct.AnimalSeedLevelOid;
                        ObjStockSeedInfoInfo.StockDetail        = "ส่งเมล็ดพันธุ์ Lot Number: " + objSupplierProduct.LotNumber;
                        ObjStockSeedInfoInfo.TotalForward       = (double)objSupplierProduct.Weight;
                        ObjStockSeedInfoInfo.TotalChange        = 0 - Convert.ToDouble(objsend_Detail.Weight);
                        ObjStockSeedInfoInfo.StockType          = 0;
                        ObjStockSeedInfoInfo.SeedTypeOid        = objSupplierProduct.SeedTypeOid;
                        ObjStockSeedInfoInfo.ReferanceCode      = objSupplierProduct.LotNumber;
                        ObjectSpace.CommitChanges();
                    }
                    ObjMaster.SendStatus = EnumSendOrderSeedStatus.Approve;
                    ObjectSpace.CommitChanges();
                    return(Ok(true));
                }
                else
                {
                    return(BadRequest());
                }
            }
            catch (Exception ex)
            {                      //Error case เกิดข้อผิดพลาด
                UserError err = new UserError();
                err.code    = "6"; // error จากสาเหตุอื่นๆ จะมีรายละเอียดจาก system แจ้งกลับ
                err.message = ex.Message;
                //  Return resual
                return(BadRequest(ex.Message));
            }
        }
        /// <summary>
        /// Метод создает в БД новое обследование
        /// </summary>
        private IExamination CreateNewExamination(IObjectSpace os, IPatient patient, Guid id, ExaminationType type = null, bool allowEmptyFile = false)
        {
            IExamination examination = os.CreateObject<IExamination>();
            examination.ExaminationSoftType = os.FindObject<ExaminationSoftType>(CriteriaOperator.Parse("ExaminationSoftTypeId = ?", id));
            examination.Patient = os.GetObject<IPatient>(patient);

            examination.AllowEmptyOrNotExistsFile = allowEmptyFile;
            examination.TimeStart = DateTime.Now;
            // Создается новое обследование поэтому файла еще нет
            if (examination.ExaminationFile == null)
            {
                // заводим в базе файл
                //examination.ExaminationFile = os.CreateObject<FileSystemStoreObject>();
                examination.ExaminationFile = os.CreateObject<ExaminationFile>();
                examination.ExaminationFile.OwnerId = (examination as DevExpress.ExpressApp.DC.DCBaseObject).Oid;
                if (type != null)
                {
                    examination.ExaminationType = os.GetObjectByKey<ExaminationType>(type.Oid); //FindObject<ExaminationType>(CriteriaOperator.Parse("ExaminationTypeId = ?", type.));
                }

                // Применяем изменения
                os.CommitChanges();

                if (String.IsNullOrEmpty(examination.ObjectCode) == false)
                {
                    string fileName = examination.ObjectCode;
                    string fileExtension = examination.ExaminationSoftType.ExaminationFileExtension;

                    examination.ExaminationFile.FileName = Converters.GetFileNameWithoutInvalidChars(fileName, fileExtension);
                }
                else
                    throw new Exception("Examination invalid params");
            }

            os.CommitChanges(); // здесь создается пустой файл обследования

            while (os.IsCommitting) { Thread.Sleep(1000); } // ждем пока применятся изменения, не знаю зачем...

            //// Заполняем созданный файл заключения
            //// !!! ЗАПОЛНЯТЬ ЗАКЛЮЧЕНИЕ ПРИ СОЗДАНИИ НЕ НАДО !!!
            //ConclusionViewController conclusionController = Frame.GetController<ConclusionViewController>();
            //if (conclusionController != null)
            //{
            //    conclusionController.PopulateConclusionFile(examination);
            //}

            return examination;
        }
Example #37
0
 public static BusinessObject FindBusinessObject(this IObjectSpace os, Type type)
 {
     return(os.FindObject <BusinessObject>(new BinaryOperator("FullName", type.FullName)));
 }
 IEmailTemplate EmailTemplateObject(IModelApplicationEmail modelApplication, EmailRule emailRule,
                                           IObjectSpace objectSpace) {
     var modelEmailTemplate =modelApplication.Email.EmailTemplateContexts.First(
             emailTemplate => emailTemplate.GetValue<string>("Id") == emailRule.TemplateContext);
     return (IEmailTemplate)objectSpace.FindObject(modelEmailTemplate.EmailTemplate.TypeInfo.Type,
                                CriteriaOperator.Parse(modelEmailTemplate.Criteria));
 }
Example #39
0
        /// <summary>
        /// Получаем объект организация
        /// </summary>
        public static IOrganization GetInstance(IObjectSpace objectSpace)
        {
            var organization = objectSpace.FindObject<IOrganization>(null);
            if (organization == null)
            {
                organization = objectSpace.CreateObject<IOrganization>();
                organization.OrganizationName = String.Empty;
                organization.OrganizationId = String.Empty;
                organization.Logo = null;

                //Assembly assembly = typeof(MitsarDataStudio.Configuration.IResource).Assembly;
                //AssemblyName name = assembly.GetName();
                //string resource = string.Format("{0}.{1}", name.Name, "Resources.Templates.TitleTemplate.rtf");
                //Stream stream = assembly.GetManifestResourceStream(resource);

                string file = Path.Combine(Configuration.Config.TemplatesPath, "TitleTemplate.rtf");
                if (File.Exists(file) == true)
                {
                    Stream stream = File.OpenRead(file);

                    organization.ConclusionTemplate = objectSpace.CreateObject<FileSystemStoreObject>();

                    SaveConclusionTemplate(organization.ConclusionTemplate, stream);
                }
            }

            return organization;
        }
Example #40
0
        public void Process(XafApplication application,IObjectSpace objectSpace) {
            var user = objectSpace.FindObject(XpandModuleBase.UserType, CriteriaOperator.Parse("Email = ?", Email)) as IAuthenticationStandardUser;
            if (user == null)
                throw new ArgumentException("Cannot find registered users by the provided email address!");
            User = user;
            var randomBytes = new byte[6];
            new RNGCryptoServiceProvider().GetBytes(randomBytes);
            Password = Convert.ToBase64String(randomBytes);

            user.SetPassword(Password);
            user.ChangePasswordOnFirstLogon = true;
            objectSpace.CommitChanges();
        }
Example #41
0
        public static DataTable ImportInvoiceNo(DataTable dtExcelData, IObjectSpace objectSpace)
        {
            var dtFormatData = dtExcelData.Copy();

            dtFormatData.Columns.Add("导入结果");
            dtFormatData.Columns.Add("相关信息");

            if (!dtFormatData.Columns.Contains("草单编号"))
            {
                var drData = dtFormatData.NewRow();
                drData["导入结果"] = "失败";
                drData["相关信息"] = "导入表中不存在草单编号列";
                dtFormatData.Rows.InsertAt(drData, 0);
                return(dtFormatData);
            }
            if (!dtFormatData.Columns.Contains("账单编号"))
            {
                var drData = dtFormatData.NewRow();
                drData["导入结果"] = "失败";
                drData["相关信息"] = "导入表中不存在账单编号列";
                dtFormatData.Rows.InsertAt(drData, 0);
                return(dtFormatData);
            }
            if (!dtFormatData.Columns.Contains("账单记录日"))
            {
                var drData = dtFormatData.NewRow();
                drData["导入结果"] = "失败";
                drData["相关信息"] = "导入表中不存在账单记录日列";
                dtFormatData.Rows.InsertAt(drData, 0);
                return(dtFormatData);
            }
            foreach (DataRow drData in dtFormatData.Rows)
            {
                try
                {
                    if (string.IsNullOrWhiteSpace(drData["草单编号"]?.ToString()))
                    {
                        drData["导入结果"] = "失败";
                        drData["相关信息"] = "草单编号为空";
                        continue;
                    }
                    if (string.IsNullOrWhiteSpace(drData["账单编号"]?.ToString()))
                    {
                        drData["导入结果"] = "失败";
                        drData["相关信息"] = "账单编号为空";
                        continue;
                    }

                    var internalNo = objectSpace.FindObject <InternalInvoice>(CriteriaOperator.Parse($"InternalNo = '{drData["草单编号"]}'"));
                    if (internalNo == null)
                    {
                        drData["导入结果"] = "失败";
                        drData["相关信息"] = "系统中不存在该草单。";
                        continue;
                    }

                    if (!string.IsNullOrWhiteSpace(internalNo.InvoiceNo) &&
                        internalNo.InvoiceNo != drData["账单编号"].ToString())
                    {
                        var messageResult = XtraMessageBox.Show($"{drData["草单编号"]}该草单下已存在账单编号,原账单编号:{internalNo.InvoiceNo};新账单编号:{drData["账单编号"]},是否执行覆盖?", "提示", MessageBoxButtons.OKCancel);
                        if (messageResult != DialogResult.OK)
                        {
                            drData["导入结果"] = "失败";
                            drData["相关信息"] = $"{drData["草单编号"]}该草单下已存在账单编号,原账单编号:{internalNo.InvoiceNo};新账单编号:{drData["账单编号"]},已执行跳过";
                            continue;
                        }
                    }

                    internalNo.InvoiceNo      = drData["账单编号"].ToString();
                    internalNo.InvoiceLogDate = string.IsNullOrWhiteSpace(drData["账单记录日"]?.ToString()) ? DateTime.Now : Convert.ToDateTime(drData["账单记录日"]);
                    internalNo.NoNeedInvoice  = false;
                    internalNo.Save();
                    objectSpace.CommitChanges();
                    drData["导入结果"] = "成功";
                }
                catch (Exception e)
                {
                    drData["导入结果"] = "失败";
                    drData["相关信息"] = e.ToString();
                    objectSpace.Rollback();
                }
            }
            return(dtFormatData);
        }
 public static CompanyInformation GetInstance(IObjectSpace objectSpace)
 {
     CompanyInformation result = objectSpace.FindObject<CompanyInformation>(null);
     if (result == null)
     {
         result = new CompanyInformation(((XPObjectSpace)objectSpace).Session);
         result.CompanyName = "My Company";
         result.CompanySlogan = "My Company Slogan";
         result.Save();
     }
     return result;
 }
Example #43
0
        public static DataTable ImportTransferCaseBase(DataTable dtExcelData, IObjectSpace objectSpace)
        {
            var dtFormatData = dtExcelData.Copy();

            dtFormatData.Columns.Add("导入结果");
            dtFormatData.Columns.Add("相关信息");

            if (!dtFormatData.Columns.Contains("我方卷号"))
            {
                var drData = dtFormatData.NewRow();
                drData["导入结果"] = "失败";
                drData["相关信息"] = "导入表中不存在我方卷号列";
                dtFormatData.Rows.InsertAt(drData, 0);
                return(dtFormatData);
            }
            if (!dtFormatData.Columns.Contains("发出日期"))
            {
                var drData = dtFormatData.NewRow();
                drData["导入结果"] = "失败";
                drData["相关信息"] = "导入表中不存在发出日期列";
                dtFormatData.Rows.InsertAt(drData, 0);
                return(dtFormatData);
            }
            if (!dtFormatData.Columns.Contains("申请人指定"))
            {
                var drData = dtFormatData.NewRow();
                drData["导入结果"] = "失败";
                drData["相关信息"] = "导入表中不存在申请人指定列";
                dtFormatData.Rows.InsertAt(drData, 0);
                return(dtFormatData);
            }
            if (!dtFormatData.Columns.Contains("外代理编码"))
            {
                var drData = dtFormatData.NewRow();
                drData["导入结果"] = "失败";
                drData["相关信息"] = "导入表中不存在外代理编码列";
                dtFormatData.Rows.InsertAt(drData, 0);
                return(dtFormatData);
            }
            if (!dtFormatData.Columns.Contains("外代理名称"))
            {
                var drData = dtFormatData.NewRow();
                drData["导入结果"] = "失败";
                drData["相关信息"] = "导入表中不存在外代理名称列";
                dtFormatData.Rows.InsertAt(drData, 0);
                return(dtFormatData);
            }
            foreach (DataRow drData in dtFormatData.Rows)
            {
                try
                {
                    if (string.IsNullOrWhiteSpace(drData["我方卷号"]?.ToString()))
                    {
                        drData["导入结果"] = "失败";
                        drData["相关信息"] = "我方卷号为空";
                        continue;
                    }
                    if (string.IsNullOrWhiteSpace(drData["发出日期"]?.ToString()))
                    {
                        drData["导入结果"] = "失败";
                        drData["相关信息"] = "发出日期为空";
                        continue;
                    }
                    if (string.IsNullOrWhiteSpace(drData["外代理编码"]?.ToString()))
                    {
                        drData["导入结果"] = "失败";
                        drData["相关信息"] = "外代理编码为空";
                        continue;
                    }
                    if (string.IsNullOrWhiteSpace(drData["外代理名称"]?.ToString()))
                    {
                        drData["导入结果"] = "失败";
                        drData["相关信息"] = "外代理名称为空";
                        continue;
                    }
                    var caseBase = objectSpace.FindObject <CaseBase>(CriteriaOperator.Parse($"s_OurNo = '{drData["我方卷号"]}'")) ??
                                   objectSpace.CreateObject <CaseBase>();

                    caseBase.s_OurNo         = drData["我方卷号"]?.ToString().Trim();
                    caseBase.b_IsAppDemand   = drData["申请人指定"]?.ToString().Trim().ToUpper() == "Y";
                    caseBase.dt_TransferDate = Convert.ToDateTime(drData["发出日期"]);
                    caseBase.GetCaseInfo();
                    caseBase.Agency = objectSpace.FindObject <Corporation>(CriteriaOperator.Parse($"Code = '{drData["外代理编码"]}'"));
                    if (caseBase.Agency == null)
                    {
                        caseBase.Agency      = objectSpace.CreateObject <Corporation>();
                        caseBase.Agency.Name = drData["外代理名称"].ToString();
                        caseBase.Agency.Code = drData["外代理编码"].ToString();
                    }
                    caseBase.Save();

                    objectSpace.CommitChanges();
                    drData["导入结果"] = "成功";
                }
                catch (Exception e)
                {
                    drData["导入结果"] = "失败";
                    drData["相关信息"] = e.ToString();
                    objectSpace.Rollback();
                }
            }
            return(dtFormatData);
        }
        public HttpResponseMessage UpdateSendOrderSeed()
        {
            QualityAnalysis objQualityAnalysis = null;
            //  object objStockAnimalInfo = null;
            HistoryWork           ObjHistory       = null;
            IList <StockSeedInfo> objStockSeedInfo = null;
            string Username = "******";

            try
            {
                string RefNo     = HttpContext.Current.Request.Form["RefNo"].ToString();     //ข้อมูลเลขที่อ้างอิง
                string Status    = HttpContext.Current.Request.Form["Status"].ToString();    //สถานะ
                string CancelMsg = HttpContext.Current.Request.Form["CancelMsg"].ToString(); //หมายเหตุ
                Username = HttpContext.Current.Request.Form["Username"].ToString();

                if (RefNo != "" && Status != "")
                {
                    string[] arr      = RefNo.Split('|');
                    string   _refno   = arr[0]; //เลขที่อ้างอิง
                    string   _org_oid = arr[1]; //oid หน่วยงาน
                    string   _type    = arr[2]; //ประเภทส่ง(2)-รับ(1)

                    XpoTypesInfoHelper.GetXpoTypeInfoSource();
                    XafTypesInfo.Instance.RegisterEntity(typeof(nutrition.Module.SendOrderSeed));
                    XafTypesInfo.Instance.RegisterEntity(typeof(nutrition.Module.StockSeedInfo));
                    XafTypesInfo.Instance.RegisterEntity(typeof(nutrition.Module.QualityAnalysis));
                    XafTypesInfo.Instance.RegisterEntity(typeof(nutrition.Module.HistoryWork));
                    XafTypesInfo.Instance.RegisterEntity(typeof(nutrition.Module.SupplierProductModifyDetail));
                    XafTypesInfo.Instance.RegisterEntity(typeof(nutrition.Module.SupplierProductModify));
                    XafTypesInfo.Instance.RegisterEntity(typeof(UserInfo));
                    XafTypesInfo.Instance.RegisterEntity(typeof(ReceiveLotNumber));

                    List <SendOrderSeed>  list           = new List <SendOrderSeed>();
                    XPObjectSpaceProvider directProvider = new XPObjectSpaceProvider(scc, null);
                    IObjectSpace          ObjectSpace    = directProvider.CreateObjectSpace();

                    UserInfo objUserInfo = ObjectSpace.FindObject <UserInfo>(CriteriaOperator.Parse("[UserName]=?", Username));

                    SendOrderSeed ObjMaster = ObjectSpace.FindObject <SendOrderSeed>(CriteriaOperator.Parse("SendNo=?", _refno));

                    if (_type == "1") //รับ
                    {
                        if (Status == "1")
                        { //Approve
                            foreach (SendOrderSeedDetail row in ObjMaster.SendOrderSeedDetails)
                            {
                                SupplierProductModifyDetail objSupplierProduct = ObjectSpace.FindObject <SupplierProductModifyDetail>(CriteriaOperator.Parse("Oid=?", row.LotNumber.Oid));
                                if (objSupplierProduct != null)
                                {
                                    objStockSeedInfo = ObjectSpace.GetObjects <StockSeedInfo>(CriteriaOperator.Parse("OrganizationOid= ? and FinanceYearOid=? and BudgetSourceOid=? and AnimalSeedOid=? and AnimalSeedLevelOid=? and StockType=1 and ReferanceCode=? ", ObjMaster.ReceiveOrgOid.Oid, ObjMaster.FinanceYearOid.Oid, objSupplierProduct.BudgetSourceOid, objSupplierProduct.AnimalSeedOid.Oid, objSupplierProduct.AnimalSeedLevelOid.Oid, row.LotNumber.LotNumberFactory));

                                    if (objStockSeedInfo.Count > 0)
                                    {
                                        var ObjSubStockCardSource = (from Item in objStockSeedInfo orderby Item.StockDate descending select Item).First().TotalWeight;
                                        var ObjStockSeedInfoInfo  = ObjectSpace.CreateObject <StockSeedInfo>();
                                        ObjStockSeedInfoInfo.StockDate          = DateTime.Today;
                                        ObjStockSeedInfoInfo.OrganizationOid    = ObjMaster.ReceiveOrgOid;
                                        ObjStockSeedInfoInfo.FinanceYearOid     = ObjMaster.FinanceYearOid;
                                        ObjStockSeedInfoInfo.BudgetSourceOid    = objSupplierProduct.BudgetSourceOid;
                                        ObjStockSeedInfoInfo.AnimalSeedOid      = objSupplierProduct.AnimalSeedOid;
                                        ObjStockSeedInfoInfo.AnimalSeedLevelOid = objSupplierProduct.AnimalSeedLevelOid;
                                        ObjStockSeedInfoInfo.StockDetail        = "รับเมล็ดพันธุ์ Lot Number : " + row.LotNumber.LotNumberFactory + "(Mobile Application)";
                                        ObjStockSeedInfoInfo.TotalForward       = ObjSubStockCardSource;
                                        ObjStockSeedInfoInfo.TotalChange        = row.Weight;
                                        ObjStockSeedInfoInfo.StockType          = EnumStockType.ReceiveProduct;
                                        ObjStockSeedInfoInfo.SeedTypeOid        = objSupplierProduct.SeedTypeOid;
                                        ObjStockSeedInfoInfo.ReferanceCode      = row.LotNumber.LotNumberFactory;
                                        ObjStockSeedInfoInfo.Description        = "รับเมล็ดพันธุ์จาก : " + ObjMaster.SendOrgOid.SubOrganizeName + "(Mobile Application)";
                                        ObjStockSeedInfoInfo.UseNo = ObjMaster.SendNo;
                                        ObjectSpace.CommitChanges();
                                    }
                                    else
                                    {
                                        var ObjStockSeedInfoInfo = ObjectSpace.CreateObject <StockSeedInfo>();
                                        ObjStockSeedInfoInfo.StockDate          = DateTime.Now;
                                        ObjStockSeedInfoInfo.OrganizationOid    = ObjMaster.ReceiveOrgOid;
                                        ObjStockSeedInfoInfo.FinanceYearOid     = ObjMaster.FinanceYearOid;
                                        ObjStockSeedInfoInfo.BudgetSourceOid    = objSupplierProduct.BudgetSourceOid;
                                        ObjStockSeedInfoInfo.AnimalSeedOid      = objSupplierProduct.AnimalSeedOid;
                                        ObjStockSeedInfoInfo.AnimalSeedLevelOid = objSupplierProduct.AnimalSeedLevelOid;
                                        ObjStockSeedInfoInfo.StockDetail        = "รับเมล็ดพันธุ์ Lot Number : " + row.LotNumber.LotNumberFactory + "(Mobile Application)";
                                        ObjStockSeedInfoInfo.TotalForward       = 0;
                                        ObjStockSeedInfoInfo.TotalChange        = row.Weight;
                                        ObjStockSeedInfoInfo.StockType          = EnumStockType.ReceiveProduct;
                                        ObjStockSeedInfoInfo.SeedTypeOid        = objSupplierProduct.SeedTypeOid;
                                        ObjStockSeedInfoInfo.ReferanceCode      = row.LotNumber.LotNumberFactory;
                                        ObjStockSeedInfoInfo.Description        = "รับเมล็ดพันธุ์จาก : " + ObjMaster.SendOrgOid.SubOrganizeName + "(Mobile Application)";
                                        ObjStockSeedInfoInfo.UseNo = ObjMaster.SendNo;
                                        ObjectSpace.CommitChanges();
                                    }
                                    SupplierProductModifyDetail objAddSupplierProductModifyDetail = ObjectSpace.FindObject <SupplierProductModifyDetail>(CriteriaOperator.Parse("LotNumberFactory=? and OrganizationOid=?", objSupplierProduct.LotNumberFactory, ObjMaster.ReceiveOrgOid.Oid));
                                    if (objAddSupplierProductModifyDetail != null)
                                    {
                                        objAddSupplierProductModifyDetail                    = ObjectSpace.CreateObject <SupplierProductModifyDetail>();
                                        objAddSupplierProductModifyDetail.LotNumber          = objSupplierProduct.LotNumber;
                                        objAddSupplierProductModifyDetail.LotNumberFactory   = objSupplierProduct.LotNumberFactory;
                                        objAddSupplierProductModifyDetail.FactoryName        = objSupplierProduct.FactoryName;
                                        objAddSupplierProductModifyDetail.WeightSend         = objSupplierProduct.WeightSend;
                                        objAddSupplierProductModifyDetail.SendUnitOid        = objSupplierProduct.SendUnitOid;
                                        objAddSupplierProductModifyDetail.WeightBefore       = objSupplierProduct.WeightBefore;
                                        objAddSupplierProductModifyDetail.BeforeUnitOid      = objSupplierProduct.BeforeUnitOid;
                                        objAddSupplierProductModifyDetail.WeightAfter        = objSupplierProduct.WeightAfter;
                                        objAddSupplierProductModifyDetail.AfterUnitOid       = objSupplierProduct.AfterUnitOid;
                                        objAddSupplierProductModifyDetail.AnimalSeedOid      = objSupplierProduct.AnimalSeedOid;
                                        objAddSupplierProductModifyDetail.AnimalSeedLevelOid = objSupplierProduct.AnimalSeedLevelOid;
                                        objAddSupplierProductModifyDetail.BudgetSourceOid    = objSupplierProduct.BudgetSourceOid;
                                        objAddSupplierProductModifyDetail.Moisture           = objSupplierProduct.Moisture;
                                        objAddSupplierProductModifyDetail.Purity             = objSupplierProduct.Purity;
                                        objAddSupplierProductModifyDetail.OtherSeed          = objSupplierProduct.OtherSeed;
                                        objAddSupplierProductModifyDetail.Weight             = objSupplierProduct.Weight;
                                        objAddSupplierProductModifyDetail.UnitOid            = objSupplierProduct.UnitOid;
                                        objAddSupplierProductModifyDetail.Germination        = objSupplierProduct.Germination;
                                        objAddSupplierProductModifyDetail.SeedTypeOid        = objSupplierProduct.SeedTypeOid;
                                        objAddSupplierProductModifyDetail.OrganizationOid    = ObjMaster.ReceiveOrgOid;
                                    }
                                }
                                Organization     objOrganizationOid  = ObjectSpace.FindObject <Organization>(CriteriaOperator.Parse("Oid=?", objUserInfo.Organization.Oid.ToString()));
                                ReceiveLotNumber objReceiveLotNumber = ObjectSpace.FindObject <ReceiveLotNumber>(CriteriaOperator.Parse("OrganizationOid=? and LotNumber=? and [IsActive]=1", objOrganizationOid.Oid, row.LotNumber.LotNumberFactory));
                                if (objReceiveLotNumber != null)
                                {
                                    objReceiveLotNumber = ObjectSpace.CreateObject <ReceiveLotNumber>();
                                    SupplierProductModifyDetail objModifyDetail = ObjectSpace.FindObject <SupplierProductModifyDetail>(CriteriaOperator.Parse("LotNumberFactory=?", row.LotNumber.LotNumberFactory));
                                    objReceiveLotNumber.AnimalSeedOid      = objModifyDetail.AnimalSeedOid;
                                    objReceiveLotNumber.AnimalSeedLevelOid = objModifyDetail.AnimalSeedLevelOid;
                                    objReceiveLotNumber.BudgetSourceOid    = ObjectSpace.GetObject <BudgetSource>(row.BudgetSourceOid);
                                    objReceiveLotNumber.OrganizationOid    = objOrganizationOid;
                                    objReceiveLotNumber.LotNumber          = row.LotNumber.LotNumberFactory;
                                    objReceiveLotNumber.SeedTypeOid        = objSupplierProduct.SeedTypeOid;
                                    objReceiveLotNumber.IsActive           = true;
                                }
                            }
                            ObjHistory = ObjectSpace.CreateObject <HistoryWork>();
                            // ประวัติ
                            ObjHistory.RefOid     = ObjMaster.Oid.ToString();
                            ObjHistory.FormName   = "เมล็ดพันธุ์";
                            ObjHistory.Message    = "อนุมัติ (รับเมล็ดพันธุ์จากหน่วยงานในสังกัด (Mobile Application)) เลขที่ส่ง : " + ObjMaster.SendNo;
                            ObjHistory.CreateBy   = SecuritySystem.CurrentUserName;
                            ObjHistory.CreateDate = DateTime.Now;
                            ObjectSpace.CommitChanges();
                            ObjMaster.ReceiveStatus = EnumReceiveOrderSeedStatus.Approve;
                            ObjectSpace.CommitChanges();
                        }

                        else if (Status == "2")
                        { //Reject
                            if (ObjMaster.SendStatus == EnumSendOrderSeedStatus.Approve)
                            {
                                foreach (SendOrderSeedDetail row in ObjMaster.SendOrderSeedDetails)
                                {
                                    SupplierProductModifyDetail objSupplierProduct = ObjectSpace.FindObject <SupplierProductModifyDetail>(CriteriaOperator.Parse("Oid=?", row.LotNumber.Oid));
                                    if (objSupplierProduct != null)
                                    {
                                        objStockSeedInfo = ObjectSpace.GetObjects <StockSeedInfo>(CriteriaOperator.Parse("OrganizationOid= ? and FinanceYearOid=? and BudgetSourceOid=? and AnimalSeedOid=? and AnimalSeedLevelOid=? and StockType=1 and ReferanceCode=? ", ObjMaster.ReceiveOrgOid.Oid, ObjMaster.FinanceYearOid.Oid, objSupplierProduct.BudgetSourceOid, objSupplierProduct.AnimalSeedOid.Oid, objSupplierProduct.AnimalSeedLevelOid.Oid, row.LotNumber.LotNumberFactory));
                                        if (objStockSeedInfo.Count > 0)
                                        {
                                            var ObjStockAnimalInfo_DetailSource = (from Item in objStockSeedInfo orderby Item.StockDate descending select Item).First().TotalWeight;
                                            var ObjStockSeedInfoInfo            = ObjectSpace.CreateObject <StockSeedInfo>();
                                            // ObjMaster.ReceiveOrgOid.Oid, ObjMaster.FinanceYearOid.Oid, objSupplierProduct.BudgetSourceOid, objSupplierProduct.AnimalSeedOid.Oid, objSupplierProduct.AnimalSeedLevelOid.Oid))
                                            var withBlock = ObjStockSeedInfoInfo;
                                            withBlock.StockDate          = DateTime.Now;
                                            withBlock.OrganizationOid    = ObjMaster.ReceiveOrgOid;
                                            withBlock.FinanceYearOid     = ObjMaster.FinanceYearOid;
                                            withBlock.BudgetSourceOid    = objSupplierProduct.BudgetSourceOid;
                                            withBlock.AnimalSeedOid      = objSupplierProduct.AnimalSeedOid;
                                            withBlock.AnimalSeedLevelOid = objSupplierProduct.AnimalSeedLevelOid;
                                            withBlock.StockDetail        = "ไม่อนุมัติการรับเมล็ดพันธุ์จากหน่วยงานในสังกัด (Mobile Application)  Lot Number : " + row.LotNumber.LotNumberFactory;
                                            withBlock.TotalForward       = ObjStockAnimalInfo_DetailSource;
                                            withBlock.TotalChange        = 0 - row.Weight;
                                            withBlock.StockType          = EnumStockType.ReceiveProduct;
                                            withBlock.SeedTypeOid        = objSupplierProduct.SeedTypeOid;
                                            withBlock.ReferanceCode      = row.LotNumber.LotNumberFactory;
                                            ObjectSpace.CommitChanges();
                                        }
                                    }
                                }

                                foreach (SendOrderSeedDetail row in ObjMaster.SendOrderSeedDetails)
                                {
                                    SupplierProductModifyDetail objSupplierProduct = ObjectSpace.FindObject <SupplierProductModifyDetail>(CriteriaOperator.Parse("Oid=?", row.LotNumber.Oid));
                                    if (objSupplierProduct != null)
                                    {
                                        objStockSeedInfo = ObjectSpace.GetObjects <StockSeedInfo>(CriteriaOperator.Parse("OrganizationOid= ? and FinanceYearOid=? and BudgetSourceOid=? and AnimalSeedOid=? and AnimalSeedLevelOid=? and StockType=0 and ReferanceCode=? ", ObjMaster.SendOrgOid.Oid, ObjMaster.FinanceYearOid.Oid, objSupplierProduct.BudgetSourceOid, objSupplierProduct.AnimalSeedOid.Oid, objSupplierProduct.AnimalSeedLevelOid.Oid, row.LotNumber.LotNumberFactory));
                                        if (objStockSeedInfo.Count > 0)
                                        {
                                            var ObjSubStockCardSource = (from Item in objStockSeedInfo orderby Item.StockDate descending select Item).First().TotalWeight;
                                            var ObjStockSeedInfoInfo  = ObjectSpace.CreateObject <StockSeedInfo>();
                                            // ObjMaster.ReceiveOrgOid.Oid, ObjMaster.FinanceYearOid.Oid, objSupplierProduct.BudgetSourceOid, objSupplierProduct.AnimalSeedOid.Oid, objSupplierProduct.AnimalSeedLevelOid.Oid))

                                            var withBlock1 = ObjStockSeedInfoInfo;
                                            withBlock1.StockDate          = DateTime.Now;
                                            withBlock1.OrganizationOid    = ObjMaster.SendOrgOid;
                                            withBlock1.FinanceYearOid     = ObjMaster.FinanceYearOid;
                                            withBlock1.BudgetSourceOid    = objSupplierProduct.BudgetSourceOid;
                                            withBlock1.AnimalSeedOid      = objSupplierProduct.AnimalSeedOid;
                                            withBlock1.AnimalSeedLevelOid = objSupplierProduct.AnimalSeedLevelOid;
                                            withBlock1.StockDetail        = "รับเมล็ดพันธุ์คืนเนื่องจากไม่ได้รับการอนุมัติ (Mobile Application) สาเหตุ : " + CancelMsg;
                                            withBlock1.TotalForward       = ObjSubStockCardSource;
                                            withBlock1.TotalChange        = row.Weight;
                                            withBlock1.StockType          = EnumStockType.ModifyProduct;
                                            withBlock1.SeedTypeOid        = objSupplierProduct.SeedTypeOid;
                                            withBlock1.ReferanceCode      = row.LotNumber.LotNumberFactory;
                                            ObjectSpace.CommitChanges();
                                        }
                                    }

                                    objQualityAnalysis = ObjectSpace.FindObject <QualityAnalysis>(CriteriaOperator.Parse("[LotNumber]=? and [AnalysisType]=0 and [OrganizationOid]=?", row.LotNumber.LotNumberFactory, row.SendOrderSeed.SendOrgOid));
                                    if (objQualityAnalysis != null)
                                    {
                                        objQualityAnalysis.Weight += row.Weight;
                                    }
                                    QualityAnalysis objQualityAnalysisType1 = ObjectSpace.FindObject <QualityAnalysis>(CriteriaOperator.Parse("[LotNumber]=? and [AnalysisType]=1 and [OrganizationOid]=?", row.LotNumber.LotNumberFactory, row.SendOrderSeed.ReceiveOrgOid));
                                    if (objQualityAnalysisType1 != null)
                                    {
                                        objQualityAnalysisType1.Weight -= row.Weight;
                                    }
                                }
                            }
                            ObjectSpace.CommitChanges();
                            ObjHistory = ObjectSpace.CreateObject <HistoryWork>();
                            // ประวัติ
                            ObjHistory.RefOid     = ObjMaster.Oid.ToString();
                            ObjHistory.FormName   = "เมล็ดพันธุ์";
                            ObjHistory.Message    = "ไม่อนุมัติ (รับเมล็ดพันธุ์จากหน่วยงานในสังกัด (Mobile Application)) เลขที่ส่ง : " + ObjMaster.SendNo;
                            ObjHistory.CreateBy   = Username;
                            ObjHistory.CreateDate = DateTime.Now;
                            ObjectSpace.CommitChanges();
                            ObjMaster.SendStatus    = EnumSendOrderSeedStatus.Eject;    //4
                            ObjMaster.ReceiveStatus = EnumReceiveOrderSeedStatus.Eject; //4
                            ObjMaster.CancelMsg     = CancelMsg;
                            ObjectSpace.CommitChanges();
                        }
                    }



                    else if (_type == "2") //ส่ง
                    {
                        if (Status == "1")
                        { //Approve
                            foreach (SendOrderSeedDetail row in ObjMaster.SendOrderSeedDetails)
                            {
                                SupplierProductModifyDetail objSupplierProduct = ObjectSpace.FindObject <SupplierProductModifyDetail>(CriteriaOperator.Parse("Oid=?", row.LotNumber.Oid));
                                if (objSupplierProduct != null)
                                {
                                    if (ObjMaster.SendOrgOid.IsFactory == true)
                                    {
                                        objStockSeedInfo = ObjectSpace.GetObjects <StockSeedInfo>(CriteriaOperator.Parse("OrganizationOid= ? and FinanceYearOid=? and BudgetSourceOid=? and AnimalSeedOid=? and AnimalSeedLevelOid=? and StockType=0 and ReferanceCode=? ", ObjMaster.SendOrgOid.Oid, ObjMaster.FinanceYearOid.Oid, objSupplierProduct.BudgetSourceOid, objSupplierProduct.AnimalSeedOid.Oid, objSupplierProduct.AnimalSeedLevelOid.Oid, row.LotNumber.LotNumberFactory));
                                    }
                                    else
                                    {
                                        objStockSeedInfo = ObjectSpace.GetObjects <StockSeedInfo>(CriteriaOperator.Parse("OrganizationOid= ? and FinanceYearOid=? and BudgetSourceOid=? and AnimalSeedOid=? and AnimalSeedLevelOid=? and StockType=1 and ReferanceCode=? ", ObjMaster.SendOrgOid.Oid, ObjMaster.FinanceYearOid.Oid, objSupplierProduct.BudgetSourceOid, objSupplierProduct.AnimalSeedOid.Oid, objSupplierProduct.AnimalSeedLevelOid.Oid, row.LotNumber.LotNumberFactory));
                                    }

                                    if (objStockSeedInfo.Count > 0)
                                    {
                                        var ObjSubStockCardSource = (from Item in objStockSeedInfo orderby Item.StockDate descending select Item).First().TotalWeight;
                                        var ObjStockSeedInfoInfo  = ObjectSpace.CreateObject <StockSeedInfo>();
                                        // ObjMaster.ReceiveOrgOid.Oid, ObjMaster.FinanceYearOid.Oid, objSupplierProduct.BudgetSourceOid, objSupplierProduct.AnimalSeedOid.Oid, objSupplierProduct.AnimalSeedLevelOid.Oid))

                                        var withBlock = ObjStockSeedInfoInfo;
                                        withBlock.StockDate          = DateTime.Now;
                                        withBlock.OrganizationOid    = ObjMaster.SendOrgOid;
                                        withBlock.FinanceYearOid     = ObjMaster.FinanceYearOid;
                                        withBlock.BudgetSourceOid    = objSupplierProduct.BudgetSourceOid;
                                        withBlock.AnimalSeedOid      = objSupplierProduct.AnimalSeedOid;
                                        withBlock.AnimalSeedLevelOid = objSupplierProduct.AnimalSeedLevelOid;
                                        withBlock.StockDetail        = "ส่งเมล็ดพันธุ์ Lot Number (Mobile Application): " + row.LotNumber.LotNumberFactory;
                                        withBlock.TotalForward       = ObjSubStockCardSource;
                                        withBlock.TotalChange        = 0 - row.Weight;
                                        if (ObjMaster.SendOrgOid.IsFactory == true)
                                        {
                                            withBlock.StockType = EnumStockType.ModifyProduct;
                                        }
                                        else
                                        {
                                            withBlock.StockType = EnumStockType.ReceiveProduct;
                                        }


                                        withBlock.SeedTypeOid   = objSupplierProduct.SeedTypeOid;
                                        withBlock.ReferanceCode = row.LotNumber.LotNumberFactory;
                                        withBlock.Description   = "ส่งเมล็ดพันธุ์ให้ : " + "" + ObjMaster.ReceiveOrgOid.SubOrganizeName + "" + "(Mobile Application)";
                                        withBlock.UseNo         = ObjMaster.SendNo;
                                        ObjectSpace.CommitChanges();
                                    }
                                }
                                else
                                {
                                    var ObjStockSeedInfoInfo = ObjectSpace.CreateObject <StockSeedInfo>();
                                    var withBlock            = ObjStockSeedInfoInfo;
                                    withBlock.StockDate          = DateTime.Now;
                                    withBlock.OrganizationOid    = ObjMaster.SendOrgOid;
                                    withBlock.FinanceYearOid     = ObjMaster.FinanceYearOid;
                                    withBlock.BudgetSourceOid    = objSupplierProduct.BudgetSourceOid;
                                    withBlock.AnimalSeedOid      = objSupplierProduct.AnimalSeedOid;
                                    withBlock.AnimalSeedLevelOid = objSupplierProduct.AnimalSeedLevelOid;
                                    withBlock.StockDetail        = "ส่งเมล็ดพันธุ์ Lot Number : " + "" + row.LotNumber.LotNumberFactory + "" + "(Mobile Application)";
                                    withBlock.TotalForward       = 0;
                                    withBlock.TotalChange        = 0 - row.Weight;
                                    if (ObjMaster.SendOrgOid.IsFactory == true)
                                    {
                                        withBlock.StockType = EnumStockType.ModifyProduct;
                                    }
                                    else
                                    {
                                        withBlock.StockType = EnumStockType.ReceiveProduct;
                                    }
                                    withBlock.SeedTypeOid   = objSupplierProduct.SeedTypeOid;
                                    withBlock.ReferanceCode = row.LotNumber.LotNumberFactory;
                                    withBlock.Description   = "ส่งเมล็ดพันธุ์ให้  : " + "" + ObjMaster.ReceiveOrgOid.SubOrganizeName + "" + "(Mobile Application)";
                                    withBlock.UseNo         = ObjMaster.SendNo;
                                    ObjectSpace.CommitChanges();
                                }
                                objQualityAnalysis = ObjectSpace.FindObject <QualityAnalysis>(CriteriaOperator.Parse("[LotNumber]=? and [AnalysisType]=0 and [OrganizationOid]=?", row.LotNumber.LotNumberFactory, row.SendOrderSeed.SendOrgOid));
                                if (objQualityAnalysis != null)
                                {
                                    objQualityAnalysis.Weight -= row.Weight;
                                }
                                QualityAnalysis objQualityAnalysisType1 = ObjectSpace.FindObject <QualityAnalysis>(CriteriaOperator.Parse("[LotNumber]=? and [AnalysisType]=1 and [OrganizationOid]=?", row.LotNumber.LotNumberFactory, row.SendOrderSeed.ReceiveOrgOid));
                                if (objQualityAnalysisType1 != null)
                                {
                                    objQualityAnalysisType1.Weight += row.Weight;
                                }
                                else
                                {
                                    var ObjQualityAnalysisInfo = ObjectSpace.CreateObject <QualityAnalysis>();
                                    SupplierProductModifyDetail objSupplierProductModifyDetail = ObjectSpace.FindObject <SupplierProductModifyDetail>(CriteriaOperator.Parse("LotNumberFactory=?", row.LotNumber.LotNumberFactory));

                                    var withBlock = ObjQualityAnalysisInfo;
                                    withBlock.AnimalSeedOid      = objSupplierProductModifyDetail.AnimalSeedOid;
                                    withBlock.AnimalSeedLevelOid = objSupplierProductModifyDetail.AnimalSeedLevelOid;
                                    withBlock.SeedTypeOid        = objSupplierProductModifyDetail.SeedTypeOid;
                                    withBlock.LotNumber          = objSupplierProductModifyDetail.LotNumberFactory;
                                    withBlock.Weight             = row.Weight;
                                    withBlock.Moisture           = objSupplierProductModifyDetail.Moisture;
                                    withBlock.Germination        = objSupplierProductModifyDetail.Germination;
                                    withBlock.AnalysisType       = 1.ToString();
                                    withBlock.OrganizationOid    = ObjMaster.ReceiveOrgOid;
                                    ObjectSpace.CommitChanges();
                                }
                            }
                            ObjHistory = ObjectSpace.CreateObject <HistoryWork>();
                            // ประวัติ
                            ObjHistory.RefOid     = ObjMaster.Oid.ToString();
                            ObjHistory.FormName   = "เมล็ดพันธุ์";
                            ObjHistory.Message    = "อนุมัติ (ส่งเมล็ดพันธุ์ให้หน่วยงานในสังกัด (Mobile Application)) เลขที่ส่ง : " + ObjMaster.SendNo;
                            ObjHistory.CreateBy   = Username;
                            ObjHistory.CreateDate = DateTime.Now;
                            ObjectSpace.CommitChanges();
                            ObjMaster.SendStatus    = EnumSendOrderSeedStatus.Approve;      //2
                            ObjMaster.ReceiveStatus = EnumReceiveOrderSeedStatus.InProgess; //1
                            ObjMaster.Remark        = CancelMsg;
                            ObjectSpace.CommitChanges();
                        }

                        else if (Status == "2") //ไม่อนุมัติ ฝั่งส่ง
                        {                       //Reject
                            ObjMaster.CancelMsg = CancelMsg;

                            foreach (SendOrderSeedDetail row in ObjMaster.SendOrderSeedDetails)
                            {
                                SupplierProductModifyDetail objSupplierProduct = ObjectSpace.FindObject <SupplierProductModifyDetail>(CriteriaOperator.Parse("Oid=?", row.LotNumber.Oid));
                                if (objSupplierProduct != null)
                                {
                                    objStockSeedInfo = ObjectSpace.GetObjects <StockSeedInfo>(CriteriaOperator.Parse("OrganizationOid= ? and FinanceYearOid=? and BudgetSourceOid=? and AnimalSeedOid=? and AnimalSeedLevelOid=? and StockType=0 and ReferanceCode=? ", ObjMaster.SendOrgOid.Oid, ObjMaster.FinanceYearOid.Oid, objSupplierProduct.BudgetSourceOid, objSupplierProduct.AnimalSeedOid.Oid, objSupplierProduct.AnimalSeedLevelOid.Oid, row.LotNumber.LotNumberFactory));
                                    if (objStockSeedInfo.Count > 0)
                                    {
                                        var ObjStockAnimalInfo_DetailSource = (from Item in objStockSeedInfo orderby Item.StockDate descending select Item).First().TotalWeight;

                                        var ObjStockSeedInfoInfo = ObjectSpace.CreateObject <StockSeedInfo>();
                                        // ObjMaster.ReceiveOrgOid.Oid, ObjMaster.FinanceYearOid.Oid, objSupplierProduct.BudgetSourceOid, objSupplierProduct.AnimalSeedOid.Oid, objSupplierProduct.AnimalSeedLevelOid.Oid))

                                        var withBlock = ObjStockSeedInfoInfo;
                                        withBlock.StockDate          = DateTime.Now;
                                        withBlock.OrganizationOid    = ObjMaster.SendOrgOid;
                                        withBlock.FinanceYearOid     = ObjMaster.FinanceYearOid;
                                        withBlock.BudgetSourceOid    = objSupplierProduct.BudgetSourceOid;
                                        withBlock.AnimalSeedOid      = objSupplierProduct.AnimalSeedOid;
                                        withBlock.AnimalSeedLevelOid = objSupplierProduct.AnimalSeedLevelOid;
                                        withBlock.StockDetail        = "ไม่อนุมัติการส่งเมล็ดพันธุ์ (Mobile Application) สาเหตุ :" + CancelMsg;
                                        withBlock.TotalForward       = ObjStockAnimalInfo_DetailSource;
                                        withBlock.TotalChange        = row.Weight;
                                        withBlock.StockType          = EnumStockType.ModifyProduct;
                                        withBlock.SeedTypeOid        = objSupplierProduct.SeedTypeOid;
                                        withBlock.ReferanceCode      = row.LotNumber.LotNumberFactory;
                                        ObjectSpace.CommitChanges();
                                    }
                                }
                            }

                            ObjHistory = ObjectSpace.CreateObject <HistoryWork>();
                            // ประวัติ
                            ObjHistory.RefOid     = ObjMaster.Oid.ToString();
                            ObjHistory.FormName   = "เมล็ดพันธุ์";
                            ObjHistory.Message    = "ไม่อนุมัติ (ส่งเมล็ดพันธุ์ให้หน่วยงานในสังกัด (Mobile Application)) เลขที่ส่ง : " + ObjMaster.SendNo;
                            ObjHistory.CreateBy   = Username;
                            ObjHistory.CreateDate = DateTime.Now;
                            ObjectSpace.CommitChanges();

                            ObjMaster.SendStatus = EnumSendOrderSeedStatus.Eject; //4

                            ObjectSpace.CommitChanges();
                        }
                    }



                    UpdateResult ret = new UpdateResult();
                    ret.status  = "true";
                    ret.message = "บันทึกข้อมูลเสร็จเรียบร้อยแล้ว";
                    return(Request.CreateResponse(HttpStatusCode.OK, ret));
                }

                else
                {
                    UserError err = new UserError();
                    err.status  = "false";
                    err.code    = "-1";
                    err.message = "ไม่พบข้อมูล";
                    return(Request.CreateResponse(HttpStatusCode.NotFound, err));
                }
            }
            catch (Exception ex)
            {
                UserError err = new UserError();
                err.code    = "6"; // error จากสาเหตุอื่นๆ จะมีรายละเอียดจาก system แจ้งกลับ
                err.message = ex.Message;
                return(Request.CreateResponse(HttpStatusCode.BadRequest, err));
            }
            finally
            {
                SqlConnection.ClearAllPools();
            }
        }
        public static IList <WeeklyInventory> GetThisWeeksInventroy(DateTime StartDate, DateTime EndDate, IObjectSpace space)
        {
            IList <WeeklyInventory> weeklyInventory = new List <WeeklyInventory>();

            // IObjectSpace space = AppHelper.Application.CreateObjectSpace();
            //get the list of locations
            IList <Location> locationList = space.GetObjects <Location>();
            bool             groupCheck   = false;

            foreach (Location loc in locationList)
            {
                //filter the measures by LDC and date
                if (loc.Name.Contains("IPS"))
                {
                    Console.Write('s');
                }
                WeeklyInventory WeekI = new WeeklyInventory();
                WeekI.Location = loc;

                XPCollection <Move> moves = loc.MoveFrom;

                // BetweenOperator betOp = new BetweenOperator("MoveDate", DateTime.Now.AddDays(-97), DateTime.Now.AddDays(-90));

                BetweenOperator betOp = new BetweenOperator("MoveDate", StartDate, EndDate);
                NotOperator     notOP = new NotOperator(new NullOperator("Appliance"));

                GroupOperator grpOP = new GroupOperator();
                grpOP.OperatorType = GroupOperatorType.And;
                grpOP.Operands.Add(betOp);
                grpOP.Operands.Add(notOP);

                moves.Filter = grpOP;
                //       moves.Filter = betOp;



                List <InventoryItem> invList = new List <InventoryItem>();

                //loc.MoveFrom[0].Appliance



                foreach (Move mov in moves)
                {
                    FastFileLineItem item = space.FindObject <FastFileLineItem>(new BinaryOperator("Move.Oid", mov.Oid.ToString()));

                    foreach (InventoryItem inv in invList)
                    {
                        if (item.HAPApplication != null && mov.Appliance.SageName == inv.Appliance.SageName && mov.LocationTo.Name == inv.LocationTo.Name &&
                            item.HAPApplication.BasicScheduledDate.ToString("dd/MM/yyyy") == inv.InstallDate.ToString("dd/MM/yyyy"))
                        {
                            inv.Quantity += mov.Quantity;
                            groupCheck    = true;
                        }
                        else if (item.ENBLIApplication != null && mov.Appliance.SageName == inv.Appliance.SageName && mov.LocationTo.Name == inv.LocationTo.Name &&
                                 item.ENBLIApplication.TAPSAssessmentDate.ToString("dd/MM/yyyy") == inv.InstallDate.ToString("dd/MM/yyyy"))
                        {
                            inv.Quantity += mov.Quantity;
                            groupCheck    = true;
                        }
                        else if (item.ENBLIApplication != null && mov.Appliance.SageName == inv.Appliance.SageName && mov.LocationTo.Name == inv.LocationTo.Name &&
                                 item.ENBLIApplication.ENBLIADate.ToString("dd/MM/yyyy") == inv.InstallDate.ToString("dd/MM/yyyy"))
                        {
                            inv.Quantity += mov.Quantity;
                            groupCheck    = true;
                        }
                    }

                    if (!groupCheck)
                    {
                        if (item.HAPApplication != null)
                        {
                            InventoryItem invItem = new InventoryItem();
                            invItem.Appliance   = mov.Appliance;
                            invItem.LocationTo  = mov.LocationTo;
                            invItem.Quantity    = mov.Quantity;
                            invItem.InstallDate = item.HAPApplication.BasicScheduledDate;
                            invList.Add(invItem);
                        }
                        else if (item.ENBLIApplication != null)
                        {
                            InventoryItem invItem = new InventoryItem();
                            invItem.Appliance  = mov.Appliance;
                            invItem.LocationTo = mov.LocationTo;
                            invItem.Quantity   = mov.Quantity;

                            if (item.ENBLIApplication.TAPSAssessmentDate != null && item.ENBLIApplication.TAPSAssessmentDate != DateTime.MinValue)
                            {
                                invItem.InstallDate = item.ENBLIApplication.TAPSAssessmentDate;
                            }
                            else
                            {
                                invItem.InstallDate = item.ENBLIApplication.ENBLIADate;
                            }


                            invList.Add(invItem);
                        }
                    }

                    groupCheck = false;
                }

                if (invList.Count > 0)
                {
                    WeekI.InventoryItemList = invList;
                    weeklyInventory.Add(WeekI);
                }
            }

            return(weeklyInventory);
        }
        public static void OnSaving(IFirstLaunchParameters parameter, IObjectSpace objectSpace)
        {
            if (parameter.DummyObjectsCreated == false)
            {
                var name = parameter.OrganizationName;
                if (string.IsNullOrEmpty(name) == false)
                {
                    var organization = OrganizationLogic.GetInstance(objectSpace);

                    organization.OrganizationName = parameter.OrganizationName;
                }

                var user = parameter.EmployeeName;
                if (string.IsNullOrEmpty(user) == false)
                {
                    var exist = objectSpace.FindObject<Employee>(new BinaryOperator("UserName", user));
                    if (exist == null)
                    {
                        var employee = objectSpace.CreateObject<Employee>();
                        employee.UserName = parameter.EmployeeName;
                        employee.SetPassword(string.Empty);
                        employee.IsActive = true;

                        var role = objectSpace.FindObject<ExtendedSecurityRole>(new BinaryOperator("BuiltInIdentifier", "Doctor"));
                        employee.Roles.Add(role);
                    }
                }
            }
        }
Example #47
0
        public static DBNumerator GetNumerator(IObjectSpace os, XPClassInfo classInfo, IDepartment department)
        {
            if (os == null)
            {
                throw new InvalidOperationException("Missing session");
            }
            if (classInfo == null)
            {
                throw new InvalidOperationException("Missing class type");
            }
            DBNumerator reg = null;
            while ((classInfo != null ? classInfo.IsPersistent : false) && reg == null)
            {
                reg = os.FindObject<DBNumerator>(CriteriaOperator.Parse(/*"TargetType = ? and Department = ?"*/"TargetType = ?", classInfo.ClassType, department));

                if (reg == null)
                {
                    reg = os.FindObject<DBNumerator>(CriteriaOperator.Parse(/*"TargetType = ? and Department is null"*/"TargetType = ?", classInfo.ClassType));
                }
                classInfo = classInfo.BaseClass;
            }

            if (reg == null)
            {
                reg = os.FindObject<DBNumerator>(CriteriaOperator.Parse(/*"TargetType = ? and Department is null"*/"TargetType = ?", typeof(ISerialDataObject)));
            }

            return reg;
        }
Example #48
0
 public static XAFBootstrapConfiguration Configuration(IObjectSpace ObjectSpace)
 {
     var configuration = ObjectSpace.FindObject<XAFBootstrapConfiguration>(null, true);
     if (configuration == null)
     {
         configuration = ObjectSpace.CreateObject<XAFBootstrapConfiguration>();
         configuration.Theme = "Paper";
     }
     return configuration;
 }
Example #49
0
 public static void AfterConstruction(IDepartment department, IObjectSpace objectSpace)
 {
     department.allowTodel = true;
     var organization = objectSpace.FindObject<IOrganization>(null);
     if (organization != null)
     {
         department.Organization = organization;
     }
 }
Example #50
0
        static public void ImportAvansData(IObjectSpace os, String file_name)
        {
            fmCAVTInvoiceType inv_type = os.GetObjects <fmCAVTInvoiceType>().FirstOrDefault(x => x.Prefix == "ю");
            FileHelperEngine <fmCAVTInvoiceAvansImport> engine = new FileHelperEngine <fmCAVTInvoiceAvansImport>();

            engine.Options.IgnoreFirstLines = 1;
            fmCAVTInvoiceAvansImport[] avans = engine.ReadFile(file_name);
            foreach (fmCAVTInvoiceAvansImport avan in avans)
            {
                avan.VO_CODE   = avan.VO_CODE.Trim();
                avan.SF_NUMBER = avan.SF_NUMBER.Trim();
                avan.PP_NUMBER = avan.PP_NUMBER.Trim();
                avan.TEXT      = avan.TEXT.Trim();
                fmCAVTInvoiceBase invoice = os.FindObject <fmCAVTInvoiceBase>(
                    XPQuery <fmCAVTInvoiceBase> .TransformExpression(
                        ((ObjectSpace)os).Session,
                        rec => rec.Customer.Code == avan.VO_CODE &&
                        rec.Number == avan.SF_NUMBER &&
                        rec.Date >= avan.SF_DATE.Date &&
                        rec.Date <= avan.SF_DATE.Date.AddDays(1)
                        ));
                fmCAVTInvoiceLine line = null;
                if (invoice == null)
                {
                    invoice          = os.CreateObject <fmCAVTInvoiceBase>();
                    invoice.Number   = avan.SF_NUMBER;
                    invoice.Date     = avan.SF_DATE.Date;
                    invoice.Customer = os.GetObjects <crmCParty>(new BinaryOperator("Code", avan.VO_CODE)).FirstOrDefault();
                    invoice.Supplier = os.GetObjects <crmCParty>(new BinaryOperator("Code", "2518")).FirstOrDefault();
                }
                if (invoice != null)
                {
                    invoice.InvoiceType = inv_type;
                    if (invoice.Lines.Count > 0)
                    {
                        line = invoice.Lines[0];
                    }
                    if (line == null)
                    {
                        line = os.CreateObject <fmCAVTInvoiceLine>();
                        invoice.Lines.Add(line);
                    }
                    line.NomenclatureText = avan.TEXT;
                    line.AVTSumm          = avan.SUMM_VAT;
                    line.Cost             = avan.SUMM_ALL - avan.SUMM_VAT;
                    //                    fmCAVTInvoiceVersion.Payment pay = new fmCAVTInvoiceVersion.Payment() {
                    fmCAVTInvoiceVersion.fmCAVTInvoicePayment pay = null;
                    if (invoice.PaymentsList.Count > 0)
                    {
                        pay = invoice.PaymentsList[0];
                    }
                    if (pay == null)
                    {
                        pay = os.CreateObject <fmCAVTInvoiceVersion.fmCAVTInvoicePayment>();
                        invoice.PaymentsList.Add(pay);
                    }
                    pay.Number = avan.PP_NUMBER;
                    pay.Date   = avan.PP_DATE;
                }
            }
        }
Example #51
0
        private void processItems(IEnumerable <Item> findResults, IObjectSpace objectSpace, Identificadores config, List <ParPersonaDireccionDireccion> paresDirecciones)
        {
            foreach (var item in findResults)
            {
                if (!(item is Contact))
                {
                    continue;
                }

                var contact = item as Contact;

                var persona = objectSpace.FindObject <Persona>(new BinaryOperator(EWSModule.PropertyCodigoEWS, item.Id.UniqueId)) ?? objectSpace.CreateObject <Persona>( );

                var modifEWS = ( DateTime? )persona.GetMemberValue(EWSModule.PropertyModifFechaEWS);
                if (modifEWS.HasValue && modifEWS.Value == item.LastModifiedTime)
                {
                    continue;
                }

                persona.SetMemberValue(EWSModule.PropertyCodigoEWS, item.Id.UniqueId);
                persona.SetMemberValue(EWSModule.PropertyModifFechaEWS, item.LastModifiedTime);

                persona.Grupo = CoreAppLogonParameters.Instance.GrupoActual(persona.Session);

                if (persona.Oid == -1) //Persona nueva
                {
                    persona.Tipo = TipoPersona.Juridica;

                    //si tiene asignado un apellido, o un telefono celular, inducimos que probablemente es una persona fisica
                    if (!string.IsNullOrEmpty(contact.CompleteName.Surname) || contact.PhoneNumbers.Contains(PhoneNumberKey.MobilePhone))
                    {
                        persona.Tipo = TipoPersona.Fisica;
                    }
                }

                persona.Nombre = contact.CompleteName.FullName;

                persona.Tratamiento      = contact.CompleteName.Title;
                persona.NombrePila       = contact.CompleteName.GivenName;
                persona.SegundoNombre    = contact.CompleteName.MiddleName;
                persona.ApellidosPaterno = contact.CompleteName.Surname;
                persona.NombreFantasia   = contact.CompleteName.NickName;
                DateTime?birthday;
                if (contact.TryGetProperty(ContactSchema.Birthday, out birthday))
                {
                    persona.NacimientoFecha = birthday;
                }
                persona.Notas = contact.Notes;
                DateTime?anniversary;
                if (contact.TryGetProperty(ContactSchema.WeddingAnniversary, out anniversary))
                {
                    persona.AniversarioFecha = contact.WeddingAnniversary;
                }

                SyncIdentificacion(persona, config.IdentificacionTipoWebTrabajo, objectSpace, contact.BusinessHomePage, "BusinessHomePage");

                SyncPropiedad(persona, config.PropiedadPuesto, objectSpace, contact.JobTitle, "JobTitle");
                SyncPropiedad(persona, config.PropiedadDepartamento, objectSpace, contact.Department, "Department");
                SyncPropiedad(persona, config.PropiedadAsistente, objectSpace, contact.AssistantName, "AssistantName");
                SyncPropiedad(persona, config.PropiedadProfesion, objectSpace, contact.Profession, "Profession");
                SyncPropiedad(persona, config.PropiedadEsposo, objectSpace, contact.SpouseName, "SpouseName");

                SyncIM(ImAddressKey.ImAddress1, config.IdentificacionTipoIM, contact, persona, objectSpace);
                SyncIM(ImAddressKey.ImAddress2, config.IdentificacionTipoIM, contact, persona, objectSpace);
                SyncIM(ImAddressKey.ImAddress3, config.IdentificacionTipoIM, contact, persona, objectSpace);

                SyncDireccion(PhysicalAddressKey.Home, config.DireccionTipoParticular, contact, persona, objectSpace, paresDirecciones);
                SyncDireccion(PhysicalAddressKey.Business, config.DireccionTipoLaboral, contact, persona, objectSpace, paresDirecciones);
                SyncDireccion(PhysicalAddressKey.Other, config.DireccionTipoOtra, contact, persona, objectSpace, paresDirecciones);

                SyncTelefono(PhoneNumberKey.AssistantPhone, config.IdentificacionTipoTelAsistente, contact, persona, objectSpace, config);
                SyncTelefono(PhoneNumberKey.BusinessFax, config.IdentificacionTipoTelFaxTrabajo, contact, persona, objectSpace, config);
                SyncTelefono(PhoneNumberKey.BusinessPhone, config.IdentificacionTipoTelTrabajo, contact, persona, objectSpace, config);
                SyncTelefono(PhoneNumberKey.BusinessPhone2, config.IdentificacionTipoTelTrabajo, contact, persona, objectSpace, config);
                SyncTelefono(PhoneNumberKey.Callback, config.IdentificacionTipoTelDevLlamada, contact, persona, objectSpace, config);
                SyncTelefono(PhoneNumberKey.CarPhone, config.IdentificacionTipoTelAuto, contact, persona, objectSpace, config);
                SyncTelefono(PhoneNumberKey.CompanyMainPhone, config.IdentificacionTipoTelPpalCia, contact, persona, objectSpace, config);
                SyncTelefono(PhoneNumberKey.HomeFax, config.IdentificacionTipoFaxParticular, contact, persona, objectSpace, config);
                SyncTelefono(PhoneNumberKey.HomePhone, config.IdentificacionTipoTelParticular, contact, persona, objectSpace, config);
                SyncTelefono(PhoneNumberKey.HomePhone2, config.IdentificacionTipoTelParticular, contact, persona, objectSpace, config);
                SyncTelefono(PhoneNumberKey.Isdn, config.IdentificacionTipoTelISDN, contact, persona, objectSpace, config);
                SyncTelefono(PhoneNumberKey.MobilePhone, config.IdentificacionTipoTelMovil, contact, persona, objectSpace, config);
                SyncTelefono(PhoneNumberKey.OtherFax, config.IdentificacionTipoFaxOtro, contact, persona, objectSpace, config);
                SyncTelefono(PhoneNumberKey.OtherTelephone, config.IdentificacionTipoTelOtro, contact, persona, objectSpace, config);
                SyncTelefono(PhoneNumberKey.Pager, config.IdentificacionTipoTelPager, contact, persona, objectSpace, config);
                SyncTelefono(PhoneNumberKey.PrimaryPhone, config.IdentificacionTipoTelPrimario, contact, persona, objectSpace, config);
                SyncTelefono(PhoneNumberKey.RadioPhone, config.IdentificacionTipoTelRadio, contact, persona, objectSpace, config);
                SyncTelefono(PhoneNumberKey.Telex, config.IdentificacionTipoTelex, contact, persona, objectSpace, config);
                SyncTelefono(PhoneNumberKey.TtyTddPhone, config.IdentificacionTipoTTY, contact, persona, objectSpace, config);

                SyncEmail(EmailAddressKey.EmailAddress1, config.IdentificacionTipoEmail, contact, persona, objectSpace);
                SyncEmail(EmailAddressKey.EmailAddress2, config.IdentificacionTipoEmail, contact, persona, objectSpace);
                SyncEmail(EmailAddressKey.EmailAddress3, config.IdentificacionTipoEmail, contact, persona, objectSpace);

                //TODO: buscar otro mecanismo para cargar la foto (manual, con un boton on-demand?)
                //es demasiado pesado para que sea automatico

                /*var hasPicture = false;
                 * contact.TryGetProperty( ContactSchema.HasPicture, out hasPicture );
                 *
                 * if ( hasPicture )
                 * {
                 * //contact.Load( new PropertySet( ItemSchema.Attachments ) );
                 * var pictureAttachment = contact.GetContactPictureAttachment( );
                 * if ( pictureAttachment != null )
                 * {
                 *  var ms = new MemoryStream( );
                 *  pictureAttachment.Load( ms );
                 *  p.Imagen = Image.FromStream( ms );
                 * }
                 * }*/

                persona.Save( );

                Thread.Sleep(1);
            }
        }
Example #52
0
        private void showNavigationItemController_CustomShowNavigationItem(object sender, CustomShowNavigationItemEventArgs e)
        {
            ViewShortcut viewShortcut = e.ActionArguments.SelectedChoiceActionItem.Data as ViewShortcut;
            string       listViewId   = Application.FindListViewId(typeof(NavigationObject));

            if (viewShortcut != null)
            {
                if (viewShortcut.ViewId == listViewId)
                {
                    IObjectSpace objectSpace = Application.CreateObjectSpace(typeof(NavigationObject));
                    DetailView   detailView  = Application.CreateDetailView(objectSpace, objectSpace.FindObject(typeof(NavigationObject), null));
                    detailView.ViewEditMode = DevExpress.ExpressApp.Editors.ViewEditMode.Edit;
                    e.ActionArguments.ShowViewParameters.CreatedView  = detailView;
                    e.ActionArguments.ShowViewParameters.TargetWindow = TargetWindow.Current;
                    e.Handled = true;
                }
            }
        }
        private object AuthenticateActiveDirectory(IObjectSpace objectSpace)
        {
            string userName = WindowsIdentity.GetCurrent().Name;
            IAuthenticationActiveDirectoryUser user = (IAuthenticationActiveDirectoryUser)objectSpace.FindObject(UserType, new BinaryOperator("UserName", userName));

            if (user == null)
            {
                if (createUserAutomatically)
                {
                    CustomCreateUserEventArgs args = new CustomCreateUserEventArgs(objectSpace, userName);
                    if (!args.Handled)
                    {
                        user          = (IAuthenticationActiveDirectoryUser)objectSpace.CreateObject(UserType);
                        user.UserName = userName;
                        //if (base.Security is ICanInitializeNewUser) {
                        //    ((ICanInitializeNewUser)base.Security).InitializeNewUser(objectSpace, user);
                        //}
                        if (Security is SecurityStrategyBase)
                        {
                            System.Reflection.MethodInfo mi = typeof(SecurityStrategyBase).GetMethod("InitializeNewUserCore", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
                            mi.Invoke(Security, new object[] { objectSpace, user });
                        }
                    }
                    objectSpace.CommitChanges();
                }
            }
            if (user == null)
            {
                throw new AuthenticationException(userName);
            }
            return(user);
        }
Example #54
0
        static public void ImportInvoices(IObjectSpace os, fmCAVTInvoiceRegister register, String file_name)
        {
//            OpenFileDialog dialog = new OpenFileDialog();
//            if (dialog.ShowDialog() == DialogResult.OK) {
            FixedFileEngine engine = new FixedFileEngine(typeof(fmCAVTInvoiceImport));

            fmCAVTInvoiceImport[]              imp_res            = (fmCAVTInvoiceImport[])engine.ReadFile(file_name);
            IList <fmCAVTInvoiceType>          inv_types          = os.GetObjects <fmCAVTInvoiceType>();
            IList <fmCAVTInvoiceTransferType>  inv_transfer_types = os.GetObjects <fmCAVTInvoiceTransferType>();
            IList <fmCAVTInvoiceOperationType> inv_oper_types     = os.GetObjects <fmCAVTInvoiceOperationType>();
            Int32  count   = 0;
            UInt32 seq_num = 0;

            foreach (fmCAVTInvoiceImport imp_rec in imp_res)
            {
                imp_rec.SF_VO_CODE    = imp_rec.SF_VO_CODE.Trim();
                imp_rec.SF_INT_NUMBER = imp_rec.SF_INT_NUMBER.Trim();
                imp_rec.SF_NUMBER     = imp_rec.SF_NUMBER.Trim();
                Decimal  summ_cost     = Decimal.Parse(imp_rec.SUMM_COST.Trim().Replace('.', ','));
                Decimal  summ_nds      = Decimal.Parse(imp_rec.SUMM_NDS.Trim().Replace('.', ','));
                Decimal  summ_sub_cost = Decimal.Parse(imp_rec.SUMM_SUB_COST.Trim().Replace('.', ','));
                Decimal  summ_sub_nds  = Decimal.Parse(imp_rec.SUMM_SUB_NDS.Trim().Replace('.', ','));
                DateTime sf_date       = default(DateTime);
                DateTime.TryParseExact(imp_rec.SF_DATE.Trim(), "yyyyMMdd", null, System.Globalization.DateTimeStyles.None, out sf_date);
                fmCAVTInvoiceBase invoice = os.FindObject <fmCAVTInvoiceBase>(
                    XPQuery <fmCAVTInvoiceBase> .TransformExpression(
                        ((ObjectSpace)os).Session,
                        rec => rec.Supplier.Code == imp_rec.SF_VO_CODE &&
                        rec.RegNumber == imp_rec.SF_INT_NUMBER &&
                        rec.Date >= sf_date &&
                        rec.Date < sf_date.AddDays(1)
                        ));
                //if (invoice == null) {
                //    count++;
                //    System.Console.WriteLine(imp_rec.SF_INT_NUMBER + " " + imp_rec.SF_NUMBER + " " + imp_rec.SF_DATE + " " + summ_cost + " " + summ_nds);
                //}
                if (invoice == null)
                {
                    crmCParty party = os.GetObjects <crmCParty>(new BinaryOperator("Code", imp_rec.SF_VO_CODE)).FirstOrDefault();
                    invoice           = os.CreateObject <fmCAVTInvoiceBase>();
                    invoice.RegNumber = imp_rec.SF_INT_NUMBER;
                    invoice.Number    = imp_rec.SF_NUMBER;
                    invoice.Date      = sf_date;
                    invoice.Supplier  = party;
                    invoice.Customer  = register.Party;
                    invoice.SummAVT   = Decimal.Parse(imp_rec.SUMM_NDS.Trim().Replace('.', ','));
                    invoice.SummCost  = Decimal.Parse(imp_rec.SUMM_COST.Trim().Replace('.', ','));
                }
                else
                {
                    invoice.SummAVT  = Decimal.Parse(imp_rec.SUMM_NDS.Trim().Replace('.', ','));
                    invoice.SummCost = Decimal.Parse(imp_rec.SUMM_COST.Trim().Replace('.', ','));
                    fmCAVTInvoiceRegisterLine line_check = os.FindObject <fmCAVTInvoiceRegisterLine>(
                        CriteriaOperator.And(new BinaryOperator("InvoiceVersion", invoice.Current)), true);
                    if (line_check != null)
                    {
                        continue;
                    }
                }
                fmCAVTInvoiceRegisterLine line = register.InLines.Where(rec => rec.Invoice == invoice).FirstOrDefault();
                if (line == null)
                {
                    line = os.CreateObject <fmCAVTInvoiceRegisterLine>();
                    register.InLines.Add(line);
                }
                line.SequenceNumber = seq_num++;
                //                line_doc.DateTransfer = invoice.Date;
                line.Invoice      = invoice;
                line.TransferType = inv_transfer_types.Where(rec => rec.Code == "1").FirstOrDefault();
                if (String.IsNullOrEmpty(imp_rec.SF_TRANS_DATE.Trim()))
                {
                    DateTime trans_date = default(DateTime);
                    DateTime.TryParseExact(imp_rec.SF_TRANS_DATE.Trim(), "yyyyMMdd", null, System.Globalization.DateTimeStyles.None, out trans_date);
                    line.DateTransfer = trans_date;
                }
                if (line.DateTransfer < sf_date)
                {
                    line.DateTransfer = sf_date;
                }
                line.OperationType = inv_oper_types.Where(rec => rec.Code == imp_rec.SF_OPER_TYPE.Trim() ||
                                                          rec.Code == '0' + imp_rec.SF_OPER_TYPE.Trim()).FirstOrDefault();
            }
            System.Console.WriteLine("All " + count);
        }
Example #55
0
        /// <summary>
        /// Finds the application object by replication key.
        /// </summary>
        /// <param name="classType">Type of the class.</param>
        /// <param name="reference">The reference.</param>
        /// <param name="objectSpace">The object space.</param>
        /// <returns>Application object</returns>
        private static object findApplicationObjectByReplicationKey(Type classType, 
            IObjectReference reference, IObjectSpace objectSpace)
        {
            object result = null;
            var modelClass = XafDeltaModule.XafApp.FindModelClass(classType);
            if (modelClass != null && reference.ReplicationKey != null)
            {
                var replicationKeyMember = ExtensionsHelper.GetReplicationKeyMember(modelClass.TypeInfo);
                var replicationKeyIsCaseInsensitive = modelClass.ReplicationKeyIsCaseInsensitive();
                var replicationKeyIsSpaceInsensitive = modelClass.ReplicationKeyIsSpaceInsensitive();
                if (replicationKeyMember != null)
                {

                    CriteriaOperator opLeft = new OperandProperty(replicationKeyMember.Name);
                    CriteriaOperator opRight = new OperandValue(reference.ReplicationKey);

                    if (replicationKeyIsCaseInsensitive)
                    {
                        opLeft = new FunctionOperator(FunctionOperatorType.Upper, opLeft);
                        opRight = new FunctionOperator(FunctionOperatorType.Upper, opRight);
                    }

                    if (replicationKeyIsSpaceInsensitive)
                    {
                        opLeft = new FunctionOperator(FunctionOperatorType.Replace, opLeft,
                            new OperandValue(" "), new OperandValue(String.Empty));
                        opRight = new FunctionOperator(FunctionOperatorType.Replace, opRight,
                            new OperandValue(" "), new OperandValue(String.Empty));
                    }

                    var keyCriteria = new BinaryOperator(opLeft, opRight, BinaryOperatorType.Equal);
                    if(replicationKeyMember.MemberInfo.IsAliased)
                    {
                        var list = objectSpace.CreateCollection(modelClass.TypeInfo.Type);

                        result = (from c in list.Cast<object>()
                                  let objKeyValue = replicationKeyMember.MemberInfo.GetValue(c)
                                  where keysMatches(objKeyValue, reference.ReplicationKey,
                                    replicationKeyIsCaseInsensitive, replicationKeyIsSpaceInsensitive)
                                  select c).FirstOrDefault();
                    }
                    else
                        result = objectSpace.FindObject(classType, keyCriteria, true);
                }
            }
            return result;
        }
Example #56
0
        public override IEnumerable <FileManagerFolder> GetFolders(FileManagerFolder parentFolder)
        {
            //1.根据ListView的Model找到设置
            var list = new List <FileManagerFolder>();
            //不是根目录?
            var  parent = FindFolder(parentFolder.RelativeName);
            bool isRoot = string.IsNullOrEmpty(parentFolder.RelativeName);

            if (isRoot)
            {
                #region 根级别

                //是否是根级别
                foreach (var m in CategoryMembers)
                {
                    if (m.CategoryPropertyAttribute.CategoryType == CategoryType.Group)
                    {
                        //分组的,可以展开查看
                        var root = new FileManagerFolder(this, parentFolder, "按[" + m.Member.Caption + "]分组");
                        AddFolderCache(true, m, root, parentFolder);
                        list.Add(root);
                    }
                    else
                    {
                        //树形的,把根结点加入
                        var rootNode = _objectSpace.FindObject(m.Member.Type, CriteriaOperator.Parse("Parent is Null")) as IName;

                        if (rootNode != null)
                        {
                            var root = new FileManagerFolder(this, parentFolder, rootNode.Name);
                            AddFolderCache(true, m, root, parentFolder);
                            //Folders.Add(root.RelativeName, new Folder() {Member = m, FullName = root.RelativeName, Parent = parentFolder.RelativeName});

                            list.Add(root);
                        }
                    }
                }

                #endregion
            }
            else
            {
                #region 非根

                if (parent.HasChildren)
                {
                    IList nodes;
                    bool  haveChildren = true;
                    if (parent.Member.CategoryPropertyAttribute.CategoryType == CategoryType.Group)
                    {
                        nodes        = _objectSpace.GetObjects(parent.Member.Member.Type, null);
                        haveChildren = false;
                    }
                    else
                    {
                        nodes = _objectSpace.GetObjects(parent.Member.Member.Type, CriteriaOperator.Parse("Parent.Name=?", parentFolder.Name));
                    }

                    foreach (IName n in nodes)
                    {
                        var root = new FileManagerFolder(this, parentFolder, n.Name);
                        AddFolderCache(haveChildren, parent.Member, root, parentFolder);
                        list.Add(root);
                    }
                }

                #endregion
            }
            return(list);
        }
 public override object Authenticate(object logonParameters, IObjectSpace objectSpace) {
     SecurityDemoAuthenticationLogonParameters securityDemoAuthenticationLogonParameters = logonParameters as SecurityDemoAuthenticationLogonParameters;
     if(string.IsNullOrEmpty(securityDemoAuthenticationLogonParameters.UserName)) {
         throw new ArgumentNullException("User");
     }
     return objectSpace.FindObject<SecurityDemoUser>(new DevExpress.Data.Filtering.BinaryOperator("UserName", securityDemoAuthenticationLogonParameters.UserName));
     //return objectSpace.GetObject(securityDemoAuthenticationLogonParameters.User);
 }
Example #58
0
        static public void ImportInvoices(IObjectSpace os, String file_name)
        {
            //            OpenFileDialog dialog = new OpenFileDialog();
            //            if (dialog.ShowDialog() == DialogResult.OK) {
            FixedFileEngine engine = new FixedFileEngine(typeof(InvoiceImport));

            InvoiceImport[]                    imp_res            = (InvoiceImport[])engine.ReadFile(file_name);
            IList <fmCAVTInvoiceType>          inv_types          = os.GetObjects <fmCAVTInvoiceType>();
            IList <fmCAVTInvoiceTransferType>  inv_transfer_types = os.GetObjects <fmCAVTInvoiceTransferType>();
            IList <fmCAVTInvoiceOperationType> inv_oper_types     = os.GetObjects <fmCAVTInvoiceOperationType>();
            Int32             count       = 0;
            fmCAVTInvoiceType sf_sfz_type = os.GetObjects <fmCAVTInvoiceType>().First(x => x.Prefix == "Z");

            foreach (InvoiceImport imp_rec in imp_res)
            {
                imp_rec.SF_VO_CODE    = imp_rec.SF_VO_CODE.Trim();
                imp_rec.SF_INT_NUMBER = imp_rec.SF_INT_NUMBER.Trim();
                imp_rec.SF_NUMBER     = imp_rec.SF_NUMBER.Trim();
                Decimal  summ_cost     = Decimal.Parse(imp_rec.SUMM_COST.Trim().Replace('.', ','));
                Decimal  summ_nds      = Decimal.Parse(imp_rec.SUMM_NDS.Trim().Replace('.', ','));
                Decimal  summ_sub_cost = Decimal.Parse(imp_rec.SUMM_SUB_COST.Trim().Replace('.', ','));
                Decimal  summ_sub_nds  = Decimal.Parse(imp_rec.SUMM_SUB_NDS.Trim().Replace('.', ','));
                DateTime sf_date       = default(DateTime);
                DateTime.TryParseExact(imp_rec.SF_DATE.Trim(), "yyyyMMdd", null, System.Globalization.DateTimeStyles.None, out sf_date);
                crmCParty party = os.GetObjects <crmCParty>(new BinaryOperator("Code", imp_rec.SF_VO_CODE)).FirstOrDefault();
                if (party == null)
                {
                    System.Console.WriteLine("SF " + imp_rec.SF_NUMBER + " party not found (" + imp_rec.SF_VO_CODE + ")");
                    continue;
                }
                Основание.ТипИсточника ts;
                if (imp_rec.SF_IO_TYPE == "I")
                {
                    ts = Основание.ТипИсточника.ВХОДЯЩИЙ;
                }
                else if (imp_rec.SF_IO_TYPE == "O")
                {
                    ts = Основание.ТипИсточника.ИСХОДЯЩИЙ;
                }
                else
                {
                    throw new ArgumentOutOfRangeException("SF " + imp_rec.SF_NUMBER + " неопределен тип входящий/исходящий");
                }
                Основание.ТипОснования tsf;
                switch (imp_rec.SF_TYPE)
                {
                case "СЧФ":
                    tsf = Основание.ТипОснования.СЧФ;
                    break;

                case "УПД":
                    tsf = Основание.ТипОснования.УПД;
                    break;

                case "СФА":
                    tsf = Основание.ТипОснования.СФА;
                    break;

                case "СФЗ":
                    tsf = Основание.ТипОснования.СФЗ;
                    break;

                case "СЧГ":
                    tsf = Основание.ТипОснования.СЧГ;
                    break;

                case "БЖД":
                    tsf = Основание.ТипОснования.БЖД;
                    break;

                case "СФВ":
                    tsf = Основание.ТипОснования.СФВ;
                    break;

                case "БСО":
                    tsf = Основание.ТипОснования.БСО;
                    break;

                case "ЧЕК":
                    tsf = Основание.ТипОснования.ЧЕК;
                    break;

                default:
                    System.Console.WriteLine("SF: " + imp_rec.SF_NUMBER + " странный тип (" + imp_rec.SF_TYPE + ")");
                    continue;
                }
                String  inn        = "";
                String  kpp        = "";
                ЛицоТип party_type = ЛицоТип.НЕЗАДАН;
                if (party.Person != null)
                {
                    if (party.Person.Address.Country.CodeAlfa2 == "RU")
                    {
//                        Type party.ComponentTypeComponentObject.GetType();
                        if (party.ComponentType == typeof(crmCLegalPerson) ||
                            party.ComponentType == typeof(crmCLegalPersonUnit))
                        {
                            party_type = ЛицоТип.ЮР_ЛИЦО;
                            inn        = party.INN;
                            if (inn.Length == 9)
                            {
                                inn = "0" + inn;
                            }
                            kpp = party.KPP;
                            if (inn.Length == 8)
                            {
                                kpp = "0" + kpp;
                            }
                            if (inn.Length != 10)
                            {
                                System.Console.WriteLine("Party: " + party.Code + " fail INN (" + inn + ")");
                                continue;
                            }
                            if (kpp.Length != 9)
                            {
                                System.Console.WriteLine("Party: " + party.Code + " fail KPP (" + kpp + ")");
                                continue;
                            }
                        }
                        else
                        {
                            if (party.ComponentType == typeof(crmCBusinessman))
                            {
                                party_type = ЛицоТип.ПРЕДПРИНИМАТЕЛЬ;
                                inn        = party.INN;
                                if (inn.Length == 11)
                                {
                                    inn = "0" + inn;
                                }
                                if (inn.Length != 12)
                                {
                                    System.Console.WriteLine("Party: " + party.Code + " fail INN (" + inn + ")");
                                    continue;
                                }
                            }
                            else
                            if (party.ComponentType == typeof(crmCPhysicalParty))
                            {
                                party_type = ЛицоТип.ФИЗ_ЛИЦО;
                            }
                        }
                    }
                    else
                    {
                        party_type = ЛицоТип.ИНО_ПАРТНЕР;
                        System.Console.WriteLine("Party: " + party.Code + " инопартнер ");
                    }
                }
                if (party.Code == "2706")
                {
                    party_type = ЛицоТип.ОЗНИЦА;
                }
                //
                String sale_inn = "5012039795";
                if (ts == Основание.ТипИсточника.ВХОДЯЩИЙ)
                {
                    sale_inn = inn;
                }
                // !!!!!!!!!!!!!!!!!!!!!!!!!!
                // Выбраковываем СФ
                if (String.IsNullOrEmpty(sale_inn) || String.IsNullOrEmpty(imp_rec.SF_REGNUM.Trim()) && tsf != Основание.ТипОснования.СФЗ)
                {
                    continue;
                }
                // !!!!!!!!!!!!!!!!!!!!!!!!!!
                Основание sf = os.FindObject <Основание>(
                    XPQuery <Основание> .TransformExpression(
                        ((ObjectSpace)os).Session,
                        rec =>
                        rec.ИннПродавца == sale_inn &&
                        rec.Номер == imp_rec.SF_NUMBER &&
                        rec.Дата >= sf_date &&
                        rec.Дата < sf_date.AddDays(1)
                        ));
                if (sf == null)
                {
                    sf          = os.CreateObject <Основание>();
                    sf.Источник = ts;
                    sf.ИНН      = inn;
                    sf.Номер    = imp_rec.SF_NUMBER;
                    sf.Дата     = sf_date;
                    sf.КПП      = kpp;
                }
                sf.Корректировка = Основание.ТипПодчиненности.ОСНОВНОЙ;
                sf.Источник      = ts;
                sf.Тип           = tsf;
                sf.ЛицоТип       = party_type;
                ОснованиеДокумент sfdoc      = null;
                String            sfdoc_sver = imp_rec.SF_PRAV_NUMBER.Trim();
                if (String.IsNullOrEmpty(sfdoc_sver))
                {
                    sfdoc_sver = "0";
                }
                UInt16 sfdoc_ver = 0;
                UInt16.TryParse(sfdoc_sver, out sfdoc_ver);
                DateTime sfdoc_date = default(DateTime);
                DateTime.TryParseExact(imp_rec.SF_DATE.Trim(), "yyyyMMdd", null, System.Globalization.DateTimeStyles.None, out sfdoc_date);
                foreach (ОснованиеДокумент doc in sf.Документы)
                {
                    if (doc.НомерИсправления == sfdoc_ver)
                    {
                        sfdoc = doc;
                        break;
                    }
                }
                if (sfdoc == null)
                {
                    sfdoc = os.CreateObject <ОснованиеДокумент>();
                    sf.Документы.Add(sfdoc);
                    sfdoc.НомерИсправления = sfdoc_ver;
                    if (sf.ДействующийДокумент.НомерИсправления < sfdoc.НомерИсправления)
                    {
                        sf.ДействующийДокумент = sfdoc;
                    }
                }
                sfdoc.ДатаИсправления = sfdoc_date;
                sfdoc.егНомер         = imp_rec.SF_REGNUM.Trim();
                if (sf.Тип == Основание.ТипОснования.СФЗ && String.IsNullOrEmpty(sfdoc.егНомер))
                {
                    Int32 IntNumber = fmCAVTInvoiceNumberGenerator.GenerateNumber(((ObjectSpace)os).Session, sf.ДействующийДокумент.CID, sf_sfz_type, sf.Дата, 0);
                    sfdoc.егНомер = sf_sfz_type.Prefix + sf.Дата.ToString("yyyyMM").Substring(2, 4) + IntNumber.ToString("00000");
                }
                sfdoc.КодПартнера       = party.Code;
                sfdoc.НаименКонтрагента = party.Name;
                sfdoc.СуммаВсего        = summ_cost + summ_nds;
                sfdoc.СуммаНДС          = summ_nds;
                sfdoc.СуммаВсегоУвел    = sfdoc.СуммаВсего + summ_sub_cost;
                sfdoc.СуммаНДСУвел      = sfdoc.СуммаНДС + summ_sub_nds;
                //fmCAVTInvoiceBase invoice = os.FindObject<fmCAVTInvoiceBase>(
                //    XPQuery<fmCAVTInvoiceBase>.TransformExpression(
                //    ((ObjectSpace)os).Session,
                //    rec => rec.Supplier.Code == imp_rec.SF_VO_CODE &&
                //           rec.RegNumber == imp_rec.SF_INT_NUMBER &&
                //           rec.Date >= sf_date &&
                //           rec.Date < sf_date.AddDays(1)
                //    ));
                ////if (invoice == null) {
                ////    count++;
                ////    System.Console.WriteLine(imp_rec.SF_INT_NUMBER + " " + imp_rec.SF_NUMBER + " " + imp_rec.SF_DATE + " " + summ_cost + " " + summ_nds);
                ////}
                //if (invoice == null) {
                //    crmCParty party = os.GetObjects<crmCParty>(new BinaryOperator("Code", imp_rec.SF_VO_CODE)).FirstOrDefault();
                //    invoice = os.CreateObject<fmCAVTInvoiceBase>();
                //    invoice.RegNumber = imp_rec.SF_INT_NUMBER;
                //    invoice.Number = imp_rec.SF_NUMBER;
                //    invoice.Date = sf_date;
                //    invoice.Supplier = party;
                //    invoice.Customer = register.Party;
                //    invoice.SummAVT = Decimal.Parse(imp_rec.SUMM_NDS.Trim().Replace('.', ','));
                //    invoice.SummCost = Decimal.Parse(imp_rec.SUMM_COST.Trim().Replace('.', ','));
                //}
                //else {
                //    invoice.SummAVT = Decimal.Parse(imp_rec.SUMM_NDS.Trim().Replace('.', ','));
                //    invoice.SummCost = Decimal.Parse(imp_rec.SUMM_COST.Trim().Replace('.', ','));
                //    fmCAVTInvoiceRegisterLine line_check = os.FindObject<fmCAVTInvoiceRegisterLine>(
                //            CriteriaOperator.And(new BinaryOperator("InvoiceVersion", invoice.Current)), true);
                //    if (line_check != null) continue;
                //}
                //fmCAVTInvoiceRegisterLine line = register.InLines.Where(rec => rec.Invoice == invoice).FirstOrDefault();
                //if (line == null) {
                //    line = os.CreateObject<fmCAVTInvoiceRegisterLine>();
                //    register.InLines.Add(line);
                //}
                //line.SequenceNumber = seq_num++;
                ////                line_doc.DateTransfer = invoice.Date;
                //line.Invoice = invoice;
                //line.TransferType = inv_transfer_types.Where(rec => rec.Code == "1").FirstOrDefault();
                //if (String.IsNullOrEmpty(imp_rec.SF_TRANS_DATE.Trim())) {
                //    DateTime trans_date = default(DateTime);
                //    DateTime.TryParseExact(imp_rec.SF_TRANS_DATE.Trim(), "yyyyMMdd", null, System.Globalization.DateTimeStyles.None, out trans_date);
                //    line.DateTransfer = trans_date;
                //}
                //if (line.DateTransfer < sf_date)
                //    line.DateTransfer = sf_date;
                //line.OperationType = inv_oper_types.Where(rec => rec.Code == imp_rec.SF_OPER_TYPE.Trim() ||
                //                                               rec.Code == '0' + imp_rec.SF_OPER_TYPE.Trim()).FirstOrDefault();
            }
            System.Console.WriteLine("All " + count);
        }
Example #59
0
        public IActionResult GenGRN([FromBody] JObject values)
        {
            try
            {
                GenHelper.WriteLog("[Log]", "[" + securityProvider.GetUserName() + "]" + controllername + "-GenGRN:[" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt") + "]");
                GenHelper.WriteLog("[Json]", "[" + securityProvider.GetUserName() + "]" + controllername + "-GenGRN:[" + Environment.NewLine + values.ToString() + Environment.NewLine + "][" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt") + "]");

                //
                //JsonParser.ParseJObjectXPO<PurchaseDelivery>(values, employee, objectSpace);
                string           temp = "";
                JToken           token;
                PurchaseDelivery employee = objectSpace.CreateObject <PurchaseDelivery>();
                token              = values["CardCode"];
                temp               = token["BoKey"].ToString();
                employee.CardCode  = objectSpace.FindObject <vwBusinessPartners>(CriteriaOperator.Parse("BoKey=?", temp));
                employee.NumAtCard = values["NumAtCard"].ToString();

                //JsonPopulateObjectHelper.PopulateObjectWODetail(values.ToString(), employee.Session, employee);

                string detalclassname = "PurchaseDeliveryDetail";
                int    intkeyvalue    = -1;
                JArray jarray         = (JArray)values[detalclassname];
                int    cnt            = 0;
                foreach (JObject Jdtl in jarray.Children())
                {
                    if (Jdtl.ContainsKey("Oid"))
                    {
                        if (int.TryParse(Jdtl["Oid"].ToString(), out intkeyvalue))
                        {
                            PurchaseDeliveryDetail dtl = objectSpace.GetObjectByKey <PurchaseDeliveryDetail>(intkeyvalue);
                            cnt++;
                            dtl.VisOrder = cnt;
                            dtl.VerNo    = 1;
                            employee.PurchaseDeliveryDetail.Add(dtl);
                        }
                        else
                        {
                            GenHelper.WriteLog("[Error]", "[" + securityProvider.GetUserName() + "]" + controllername + "-GenGRN:[Details Key value is invalid][" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt") + "]");
                            throw new Exception("Details Key value is invalid");
                        }
                    }
                    else
                    {
                        GenHelper.WriteLog("[Error]", "[" + securityProvider.GetUserName() + "]" + controllername + "-GenGRN:[Details Key Column Not found][" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt") + "]");
                        throw new Exception("Details Key Column Not found");
                    }
                }
                if (employee.DocTypeSeries == null)
                {
                    GenHelper.WriteLog("[Error]", "[" + securityProvider.GetUserName() + "]" + controllername + "-GenGRN:[Document series is not found][" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt") + "]");
                    throw new Exception("Document series is not found");
                }
                employee.DocStatus.AddDocStatus(DocStatus.Accepted, "WebApi Generated");
                employee.DocStatus.CurrDocStatus = DocStatus.Accepted;
                employee.VerNo = 1;
                employee.AssignDocNumber();
                objectSpace.CommitChanges();
                return(Ok(employee.DocNum));
            }
            catch (Exception ex)
            {
                GenHelper.WriteLog("[Error]", "[" + securityProvider.GetUserName() + "]" + controllername + "-GenGRN:[" + ex.Message + "][" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt") + "]");
                throw new Exception(ex.Message);
            }
        }
Example #60
0
        private void popupWindowShowActionPresupuestoReal_Execute(object sender, DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs e)
        {
            PresupuestoFiltro obj = e.PopupWindowViewCurrentObject as PresupuestoFiltro;

            if (obj != null)
            {
                IObjectSpace       objectSpace = Application.CreateObjectSpace();
                List <MovimientoB> lista;
                GroupOperator      fil  = new GroupOperator();
                Presupuesto        prsu = objectSpace.FindObject <Presupuesto>(null);

                if (prsu != null)
                {
                    decimal suma;
                    foreach (ConceptoP cp in prsu.Partidas)
                    {
                        if (cp.Concepto != null)
                        {
                            fil.Operands.Clear();
                            fil.Operands.Add(CriteriaOperator.And(new BinaryOperator("FechaAplicacion", obj.FchIncl, BinaryOperatorType.GreaterOrEqual),
                                                                  new BinaryOperator("FechaAplicacion", obj.FchFnl, BinaryOperatorType.LessOrEqual)));
                            fil.Operands.Add(new BinaryOperator("Concepto", cp.Concepto));

                            IList col = objectSpace.CreateCollection(typeof(MovimientoB), fil);
                            lista = col.Cast <MovimientoB>().ToList();
                            if (lista != null && lista.Count > 0)
                            {
                                suma     = lista.Sum(item => item.Monto);
                                cp.MntRl = suma;
                            }
                            else
                            {
                                cp.MntRl = 0;
                            }
                        }
                    }

                    IList lis = objectSpace.CreateCollection(typeof(ConceptoB));
                    foreach (ConceptoB cpt in lis)
                    {
                        prsu.Partidas.Filter = new BinaryOperator("Concepto", cpt);
                        if (prsu.Partidas.Count == 0)
                        {
                            fil.Operands.Clear();
                            fil.Operands.Add(CriteriaOperator.And(new BinaryOperator("FechaAplicacion", obj.FchIncl, BinaryOperatorType.GreaterOrEqual),
                                                                  new BinaryOperator("FechaAplicacion", obj.FchFnl, BinaryOperatorType.LessOrEqual)));
                            fil.Operands.Add(new BinaryOperator("Concepto", cpt));

                            IList col = objectSpace.CreateCollection(typeof(MovimientoB), fil);
                            lista = col.Cast <MovimientoB>().ToList();
                            if (lista != null && lista.Count > 0)
                            {
                                suma = lista.Sum(item => item.Monto);

                                ConceptoP cp = objectSpace.CreateObject <ConceptoP>();
                                cp.Concepto = cpt;
                                cp.MntRl    = suma;

                                prsu.Partidas.Add(cp);
                            }
                        }
                    }

                    objectSpace.CommitChanges();
                    View.Refresh(true);
                }
            }
        }