Example #1
0
        public override void AfterApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.AfterApplyChanges(dbHelper, entity);

            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify))
            {
                //فعلا با ایجاد هر تعریف کالا، یک کالا هم ایجاد می کنیم.
                //بعدا وقتی امکان تعیین مشخصه ها مشخصه ها به تعریف کالا اضافه شد، باید به ازای ترکیب مشخصه ها کالا ایجاد شود

                if (!dbHelper.EntityExists("cmn.Stuff", string.Format("StuffDef = '{0}'", entity.GetFieldValue <Guid>("ID"))))
                {
                    var stuff = dbHelper.CreateNewEntity("cmn.Stuff");
                    stuff.SetFieldValue("StuffDef", entity.GetFieldValue <Guid>("ID"));
                    dbHelper.InsertEntity(stuff);
                }
            }
        }
Example #2
0
        public void CreateAccDocItem(Guid accDocID, Guid accountID, Guid?personID, Guid?costCenterID, Guid?projectID,
                                     Guid?foreignCurrencyID, decimal debtorAmount, decimal creditorAmount, EntityDbHelper dbHelper)
        {
            var maxRowNo = cmn.Instance.GetFieldMaxIntValue("RowNo", "acc_AccDocItems", string.Format("AccDoc = '{0}'", accDocID));

            var accDocItemEntity = dbHelper.CreateNewEntity("acc.AccDocItem");

            accDocItemEntity.SetFieldValue("AccDoc", accDocID);
            accDocItemEntity.SetFieldValue("RowNo", maxRowNo + 1);
            accDocItemEntity.SetFieldValue("Account", accountID);
            accDocItemEntity.SetFieldValue("Person", personID);
            accDocItemEntity.SetFieldValue("CostCenter", costCenterID);
            accDocItemEntity.SetFieldValue("Project", projectID);
            accDocItemEntity.SetFieldValue("ForeignCurrency", foreignCurrencyID);
            accDocItemEntity.SetFieldValue("Note", "");
            accDocItemEntity.SetFieldValue("DebtorAmount", debtorAmount);
            accDocItemEntity.SetFieldValue("CreditorAmount", creditorAmount);
            accDocItemEntity.SetFieldValue("IsActive", true);
            dbHelper.ApplyChanges(accDocItemEntity);
        }
Example #3
0
        public override void AfterApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.AfterApplyChanges(dbHelper, entity);

            var id = entity.GetFieldValue <Guid>("ID");

            if (entity.ChangeStatus == EntityChangeTypes.Add)
            {
                var afwOrganizationUnit = dbHelper.CreateNewEntity("afw.OrganizationUnit");
                afwOrganizationUnit.SetFieldValue("ID", id);
                afwOrganizationUnit.SetFieldValue("Name", entity.GetFieldValue <string>("Name"));
                afwOrganizationUnit.SetFieldValue("ParentOrganizationUnit", entity.GetFieldValue <Guid>("ParentOrganizationUnit"));

                dbHelper.InsertEntity(afwOrganizationUnit);
            }
            if (entity.ChangeStatus == EntityChangeTypes.Modify)
            {
                var afwOrganizationUnit = dbHelper.FetchSingleByID("afw.OrganizationUnit", id, null);

                if (afwOrganizationUnit == null)
                {
                    throw new AfwException("afwOrganizationUnit not found!");
                }

                afwOrganizationUnit.SetFieldValue("Name", entity.GetFieldValue <string>("Name"));
                afwOrganizationUnit.SetFieldValue("ParentOrganizationUnit", entity.GetFieldValue <Guid>("ParentOrganizationUnit"));

                dbHelper.UpdateEntity(afwOrganizationUnit);
            }
            if (entity.ChangeStatus == EntityChangeTypes.Delete)
            {
                var afwOrganizationUnit = dbHelper.FetchSingleByID("afw.OrganizationUnit", id, null);

                if (afwOrganizationUnit == null)
                {
                    throw new AfwException("afwOrganizationUnit not found!");
                }

                dbHelper.DeleteEntity(afwOrganizationUnit);
            }
        }
        public override void AfterApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.AfterApplyChanges(dbHelper, entity);

            if (entity.ChangeStatus != EntityChangeTypes.Delete)
            {
                new SalesCaseBL().UpdateSalesCaseLastActionTime(entity.GetFieldValue <Guid>("SalesCase"));
            }

            var connectedPersonID = entity.GetFieldValue <Guid>("ConnectedPerson");

            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify))
            {
                //ایجاد یا به روز رسانی اشخاص مرتبط در موجودیت مشتری
                var salesCase = dbHelper.FetchSingleByID("crm.SalesCase", entity.GetFieldValue <Guid>("SalesCase"), null);

                var personConnectedPerson = dbHelper.FetchSingle("cmn.PersonConnectedPerson",
                                                                 string.Format("ParentPerson = '{0}' and ConnectedPerson = '{1}'",
                                                                               salesCase.GetFieldValue <Guid>("Customer"), connectedPersonID), null);

                if (personConnectedPerson != null &&
                    personConnectedPerson.GetFieldValue <Guid?>("ConnectedPersonPost") != entity.GetFieldValue <Guid?>("ConnectedPersonPost"))
                {
                    personConnectedPerson.SetFieldValue("ConnectedPersonPost", entity.GetFieldValue <Guid?>("ConnectedPersonPost"));
                    dbHelper.UpdateEntity(personConnectedPerson);
                }
                else
                {
                    personConnectedPerson = dbHelper.CreateNewEntity("cmn.PersonConnectedPerson");
                    personConnectedPerson.SetFieldValue("ParentPerson", salesCase.GetFieldValue <Guid>("Customer"));
                    personConnectedPerson.SetFieldValue("ConnectedPerson", connectedPersonID);
                    personConnectedPerson.SetFieldValue("ConnectedPersonPost", entity.GetFieldValue <Guid?>("ConnectedPersonPost"));
                    dbHelper.InsertEntity(personConnectedPerson);
                }
            }
        }
Example #5
0
        public Entity FetchOrCreatePerson(string personCode, string name, string lastName, string mobilePhoneNumber1OrCommission, string roleName, EntityDbHelper dbHelper)
        {
            var personExists = false;

            if (roleName == "Customer")
            {
                personExists = dbHelper.EntityExists("cmn.Person", string.Format("Name = N'{0}' and LastName = N'{1}' and MobilePhoneNumber1 = '{2}'", name, lastName, mobilePhoneNumber1OrCommission));
            }
            else if (roleName == "Marketer")
            {
                personExists = dbHelper.EntityExists("cmn.Person", string.Format("Name = N'{0}' and LastName = N'{1}'", name, lastName));
            }

            if (personExists == false)
            {
                var personEntity = dbHelper.CreateNewEntity("cmn.Person");
                personEntity.SetFieldValue("Name", name);
                personEntity.SetFieldValue("LastName", lastName);
                if (roleName == "Customer")
                {
                    personEntity.SetFieldValue("MobilePhoneNumber1", mobilePhoneNumber1OrCommission);
                }

                var haghighiID = OptionSetHelper.GetOptionSetItemID("cmn.PersonTypes", "Haghighi");
                personEntity.SetFieldValue("PersonType", haghighiID);

                var person_CustomerInfoEntity = dbHelper.CreateNewEntity("cmn.Person_CustomerInfo");
                var person_MarketerInfoEntity = dbHelper.CreateNewEntity("cmn.Person_MarketerInfo");

                if (roleName == "Customer")
                {
                    person_CustomerInfoEntity.SetFieldValue("PersonCode", personCode);
                    person_CustomerInfoEntity.SetFieldValue("Person", personEntity.GetFieldValue <Guid>("ID"));

                    personEntity.AddField("CustomerInfo", person_CustomerInfoEntity);
                }
                else if (roleName == "Marketer")
                {
                    person_MarketerInfoEntity.SetFieldValue("PersonCode", personCode);
                    person_MarketerInfoEntity.SetFieldValue("Person", personEntity.GetFieldValue <Guid>("ID"));
                    person_MarketerInfoEntity.SetFieldValue("Commission", mobilePhoneNumber1OrCommission);

                    personEntity.AddField("MarketerInfo", person_MarketerInfoEntity);
                }

                var personRoleRelationEntityList = new EntityList();
                var personRoleRelationEntity     = dbHelper.CreateNewEntity("cmn.PersonRoleRelation");
                personRoleRelationEntityList.EntityDefID = personRoleRelationEntity.EntityDefID;
                var personRoleEntity = dbHelper.FetchSingle("cmn.PersonRole", string.Format("Name = '{0}'", roleName), null);
                personRoleRelationEntity.SetFieldValue("PersonRole", personRoleEntity.GetFieldValue <Guid>("ID"));
                personRoleRelationEntity.SetFieldValue("Person", personEntity.GetFieldValue <Guid>("ID"));
                personRoleRelationEntityList.Entities.Add(personRoleRelationEntity);

                personEntity.SetFieldValue("PersonRoleRelations", personRoleRelationEntityList);

                new PersonBL().SavePerson(personEntity);
                return(personEntity);
            }
            else
            {
                var personEntity = dbHelper.CreateNewEntity("cmn.Person");
                if (roleName == "Customer")
                {
                    personEntity = dbHelper.FetchSingle("cmn.Person", string.Format("Name = N'{0}' and LastName = N'{1}' and MobilePhoneNumber1 = '{2}'", name, lastName, mobilePhoneNumber1OrCommission), null);
                }
                else if (roleName == "Marketer")
                {
                    personEntity = dbHelper.FetchSingle("cmn.Person", string.Format("Name = N'{0}' and LastName = N'{1}'", name, lastName), null);
                }

                return(personEntity);
            }
        }
Example #6
0
        public Entity FetchOrCreateStuff(ref Entity stuffMainCategory, string stuffCode, string stuffName, EntityDbHelper dbHelper)
        {
            var stuffEntity = dbHelper.CreateNewEntity("cmn.Stuff");

            var stuffDefEntity = dbHelper.FetchSingle("cmn.StuffDef", string.Format("Code = '{0}' and Name = N'{1}'", stuffCode, stuffName), null);

            if (stuffDefEntity == null)
            {
                // دریافت گروه های اصلی کالا که کدینگ حسابداری برای آنها ثبت شده است
                var stuffMainCategoryEntityList = dbHelper.FetchMultiple("cmn.StuffMainCategory", "Account is not null", null, null, null, null);
                if (stuffMainCategoryEntityList.Entities.Count > 0)
                {
                    // اولین گروه اصلی کالا که کدینگ حسابداری برای آن ثبت شده است
                    stuffMainCategory = stuffMainCategoryEntityList.Entities[0];
                    var stuffMainCategoryFirstID = stuffMainCategory.GetFieldValue <Guid>("ID");

                    // دریافت گروه های فرعی کالا که کدینگ حسابداری دارند
                    var stuffSubCategoryEntityList = dbHelper.FetchMultiple("cmn.StuffSubCategory",
                                                                            string.Format("MainCategory = '{0}'", stuffMainCategoryFirstID), null, null, null, null);

                    var mainMeasurementUnitEntityList = dbHelper.FetchMultiple("cmn.MeasurementUnit", null, null, null, null, null);

                    if (stuffSubCategoryEntityList.Entities.Count > 0 && mainMeasurementUnitEntityList.Entities.Count > 0)
                    {
                        // شناسه اولین گروه فرعی کالا
                        var subCategoryID = stuffSubCategoryEntityList.Entities[0].GetFieldValue <Guid>("ID");
                        // شناسه اولین واحد کالا
                        var mainMeasurementUnitID = mainMeasurementUnitEntityList.Entities[0].GetFieldValue <Guid>("ID");

                        var newStuffDef = dbHelper.CreateNewEntity("cmn.StuffDef");
                        newStuffDef.SetFieldValue("Code", stuffCode);
                        newStuffDef.SetFieldValue("Name", stuffName);
                        newStuffDef.SetFieldValue("HideInProforma", 0);
                        newStuffDef.SetFieldValue("HideInInvoice", 0);
                        newStuffDef.SetFieldValue("HideInStockTransfer", 0);
                        newStuffDef.SetFieldValue("DarayeMaliatBarArzesheAfzudeh", 0);
                        newStuffDef.SetFieldValue("SetUnitPriceOnlyFromPricesList", 0);
                        newStuffDef.SetFieldValue("SubCategory", subCategoryID);
                        newStuffDef.SetFieldValue("MainMeasurementUnit", mainMeasurementUnitID);
                        dbHelper.ApplyChanges(newStuffDef);

                        // فعلا در نرم افزار به ازای یک تعریف کالا یک کالا نیز وجود دارد که ما اولین آیتم آن را برمیگردانیم که بعدا قرار است یک لیست برگردانده شود
                        var stuffList = dbHelper.FetchMultiple("cmn.Stuff", string.Format("StuffDef = '{0}'", stuffDefEntity.GetFieldValue <Guid>("ID")), null, null, null, null);
                        stuffEntity = stuffList.Entities[0];
                    }
                }
            }
            else
            {
                // فعلا در نرم افزار به ازای یک تعریف کالا یک کالا نیز وجود دارد که ما اولین آیتم آن را برمیگردانیم که بعدا قرار است یک لیست برگردانده شود
                var stuffList = dbHelper.FetchMultiple("cmn.Stuff", string.Format("StuffDef = '{0}'", stuffDefEntity.GetFieldValue <Guid>("ID")), null, null, null, null);
                stuffEntity = stuffList.Entities[0];

                var subCategoryID    = stuffDefEntity.GetFieldValue <Guid>("SubCategory");
                var stuffSubCategory = dbHelper.FetchSingle("cmn.StuffSubCategory", string.Format("ID = '{0}'", subCategoryID), null);
                stuffMainCategory = dbHelper.FetchSingle("cmn.StuffMainCategory",
                                                         string.Format("ID = '{0}'", stuffSubCategory.GetFieldValue <Guid>("MainCategory")), null);
            }

            return(stuffEntity);
        }