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

            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify))
            {
                if (dbHelper.EntityExists("rp.ReceivedCheque",
                                          string.Format("ChequeNumber = '{0}' and ID <> '{1}'",
                                                        entity.GetFieldValue <string>("ChequeNumber"),
                                                        entity.GetFieldValue <Guid>("ID"))))
                {
                    throw new AfwException("ChequeNumberExists");
                }

                if (dbHelper.EntityExists("rp.ReceivedCheque",
                                          string.Format("RadifeDaftareChek = '{0}' and ID <> '{1}'",
                                                        entity.GetFieldValue <string>("RadifeDaftareChek"),
                                                        entity.GetFieldValue <Guid>("ID"))))
                {
                    throw new AfwException("RadifeDaftareChekExists");
                }
            }

            if (entity.ChangeStatus == EntityChangeTypes.Delete)
            {
                DeleteRelatedChequeStatusChanges(entity.GetFieldValue <Guid>("ID"));
            }
        }
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.BeforeApplyChanges(dbHelper, entity);

            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify))
            {
                var redundantExists = dbHelper.EntityExists("wm.WarehouseDocsAccSettings",
                                                            string.Format(@"
                        FinancialYear = '{0}'
                        and GhabzOrHavaleType = '{1}'
                        and ID <> '{2}'",
                                                                          entity.GetFieldValue <Guid>("FinancialYear"),
                                                                          entity.GetFieldValue <Guid>("GhabzOrHavaleType"),
                                                                          entity.GetFieldValue <Guid>("ID")));

                if (redundantExists)
                {
                    throw new AfwException("این مورد قبلا ثبت شده است.");
                }

                redundantExists = dbHelper.EntityExists("acc.Account",
                                                        string.Format("ID = '{0}' and FinancialYear = '{1}'", entity.GetFieldValue <Guid>("TarafHesabeAnbarAccount"), entity.GetFieldValue <Guid>("FinancialYear")));

                if (!redundantExists)
                {
                    throw new AfwException("کدینگ انتخاب شده با سال مالی تطابق ندارد.");
                }
            }
        }
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.BeforeApplyChanges(dbHelper, entity);

            //DebugHelper.Break();

            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify))
            {
                if (entity.GetFieldValue <bool>("IsDefault") &&
                    dbHelper.EntityExists("rp.ReceiveTypeOpKind",
                                          string.Format("ReceiveType = '{0}' and IsDefault = 1 and ID <> '{1}'",
                                                        entity.GetFieldValue <Guid>("ReceiveType"),
                                                        entity.GetFieldValue <Guid>("ID"))))
                {
                    throw new AfwException("IsDefaultExist");
                }

                if (dbHelper.EntityExists("rp.ReceiveTypeOpKind",
                                          string.Format("FinancialOpKind = '{0}' and ID <> '{1}'",
                                                        entity.GetFieldValue <Guid>("FinancialOpKind"),
                                                        entity.GetFieldValue <Guid>("ID"))))
                {
                    throw new AfwException("OpKindExist");
                }
            }
        }
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.BeforeApplyChanges(dbHelper, entity);

            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add))
            {
                var redundantExists = dbHelper.EntityExists("cmn.CustomTextFieldInfo",
                                                            string.Format("EntityFullName = '{0}' and FieldNumber >= '{1}'",
                                                                          entity.GetFieldValue <string>("EntityFullName"),
                                                                          entity.GetFieldValue <int>("FieldNumber")));

                if (redundantExists)
                {
                    throw new AfwException(string.Format("شماره فیلد نامعتبر است، شماره فیلد {0} قبلا ثبت شده یا شماره بزرگتر از آن موجود است.", entity.GetFieldValue <string>("FieldNumber")));
                }
            }
            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Delete))
            {
                var redundantExists = dbHelper.EntityExists("cmn.CustomTextFieldInfo",
                                                            string.Format("FieldNumber > '{0}' and EntityFullName = '{1}'",
                                                                          entity.GetFieldValue <int>("FieldNumber"),
                                                                          entity.GetFieldValue <string>("EntityFullName")));

                if (redundantExists)
                {
                    throw new AfwException(string.Format("فیلد با شماره بزرگتر از {0} موجود است. ابتدا باید آن حذف شود.", entity.GetFieldValue <string>("FieldNumber")));
                }
            }
        }
Beispiel #5
0
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.BeforeApplyChanges(dbHelper, entity);

            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify))
            {
                var redundantExists = dbHelper.EntityExists("cmn.CostCenter",
                                                            string.Format("Code = '{0}' and CostCenterGroup = '{1}'",
                                                                          entity.GetFieldValue <string>("Code"),
                                                                          entity.GetFieldValue <Guid>("CostCenterGroup")));

                if (redundantExists)
                {
                    throw new AfwException(string.Format("کد تکراری! کد {0} در این گروه مرکز هزینه قبلا ثبت شده است.", entity.GetFieldValue <string>("Code")));
                }

                redundantExists = dbHelper.EntityExists("cmn.CostCenter",
                                                        string.Format("CostCenterGroup = '{0}' and Name = N'{1}'",
                                                                      entity.GetFieldValue <Guid>("CostCenterGroup"),
                                                                      entity.GetFieldValue <string>("Name")));

                if (redundantExists)
                {
                    throw new AfwException(string.Format("نام تکراری! {0} در این گروه مرکز هزینه قبلا ثبت شده است.", entity.GetFieldValue <string>("Name")));
                }
            }
        }
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.BeforeApplyChanges(dbHelper, entity);

            //DebugHelper.Break();

            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify))
            {
                if (dbHelper.EntityExists("rp.ChekeZemanateDaryafti",
                                          string.Format("Number = '{0}' and ID <> '{1}'",
                                                        entity.GetFieldValue <string>("Number"),
                                                        entity.GetFieldValue <Guid>("ID"))))
                {
                    throw new AfwException("ShomareChekeZemanatVojoodDarad");
                }

                if (dbHelper.EntityExists("rp.ChekeZemanateDaryafti",
                                          string.Format("RadifeDaftareChek = '{0}' and ID <> '{1}'",
                                                        entity.GetFieldValue <string>("RadifeDaftareChek"),
                                                        entity.GetFieldValue <Guid>("ID"))))
                {
                    throw new AfwException("RadifeDaftareChekeZemanatVojoodDarad");
                }
            }
        }
Beispiel #7
0
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.BeforeApplyChanges(dbHelper, entity);

            //DebugHelper.Break();

            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify))
            {
                var redundantExists = dbHelper.EntityExists("cmn.FinancialGroup",
                                                            string.Format("Title = '{0}' and ID <> '{1}'",
                                                                          entity.GetFieldValue <string>("Title"),
                                                                          entity.GetFieldValue <Guid>("ID")));

                if (redundantExists)
                {
                    throw new AfwException("این گروه مالی قبلا ثبت شده است.");
                }

                var isDefaultFinancialGroupExists = dbHelper.EntityExists("cmn.FinancialGroup",
                                                                          string.Format("IsDefault = 1 and ID <> '{0}'",
                                                                                        entity.GetFieldValue <Guid>("ID")));

                if (isDefaultFinancialGroupExists && entity.GetFieldValue <bool>("IsDefault"))
                {
                    throw new AfwException("قبلا گروه مالی پیش فرض تعیین شده است.");
                }

                if (entity.GetFieldValue <bool>("IsDefault") == true)
                {
                    var isCurrentYearExists = dbHelper.EntityExists("cmn.FinancialGroup",
                                                                    string.Format("IsDefault = '{0}' and ID <> '{1}'",
                                                                                  entity.GetFieldValue <bool>("IsDefault"),
                                                                                  entity.GetFieldValue <Guid>("ID")));

                    if (isCurrentYearExists)
                    {
                        var financialYearEntity = dbHelper.FetchSingle("cmn.FinancialGroup",
                                                                       string.Format("IsDefault = '{0}' and ID <> '{1}'",
                                                                                     entity.GetFieldValue <bool>("IsDefault"),
                                                                                     entity.GetFieldValue <Guid>("ID")), null);

                        financialYearEntity.ChangeStatus = "Modify";
                        financialYearEntity.SetFieldValue("IsDefault", false);
                        dbHelper.ApplyChanges(financialYearEntity);
                    }
                }
            }
        }
Beispiel #8
0
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.BeforeApplyChanges(dbHelper, entity);

            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify))
            {
                if (entity.GetFieldValue <DateTime>("FromDate") >= entity.GetFieldValue <DateTime>("ToDate"))
                {
                    throw new AfwException("تاریخ شروع نمیتواند بزرگتر از تاریخ پایان باشد.");
                }

                var entityExists = dbHelper.EntityExists("wm.ArzeshRialiEstandardKala",
                                                         string.Format(@"((FromDate >= '{0}' and ToDate <= '{1}')
                                        or (FromDate >= '{0}' and ToDate >= '{1}')
                                        or (FromDate <= '{0}' and ToDate <= '{1}')
                                        or (FromDate <= '{0}' and ToDate >= '{1}')
                                    )and StuffDef = '{2}'
                                    and ID <> '{3}'",
                                                                       entity.GetFieldValue <DateTime>("FromDate"),
                                                                       entity.GetFieldValue <DateTime>("ToDate"),
                                                                       entity.GetFieldValue <Guid>("StuffDef"),
                                                                       entity.GetFieldValue <Guid>("ID")));

                if (entityExists)
                {
                    throw new AfwException("در بازه مشترک ارزش ریالی استاندارد برای کالا، موجود است.");
                }

                var stuffEntity = dbHelper.FetchSingle("cmn.Stuff", string.Format("StuffDef = '{0}'", entity.GetFieldValue <Guid>("StuffDef")), null);
                entity.SetFieldValue("Stuff", stuffEntity.GetFieldValue <Guid>("ID"));
            }
        }
Beispiel #9
0
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.BeforeApplyChanges(dbHelper, entity);

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

            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify))
            {
                if (dbHelper.EntityExists("rp.PayReceipt",
                                          string.Format("ReceiptNumber = {0} and FinancialYear = '{1}' and ID <> '{2}'",
                                                        entity.GetFieldValue <int>("ReceiptNumber"), entity.GetFieldValue <Guid>("FinancialYear"),
                                                        payReceiptID)))
                {
                    throw new AfwException("شماره این رسید قبلا ثبت شده است");
                }

                if (entity.GetFieldValue <int>("ReceiptNumber") < 1)
                {
                    throw new AfwException("شماره رسید نباید منفی باشد");
                }

                CheckPayeeChangeEnable(entity);
            }

            if (entity.ChangeStatus == EntityChangeTypes.Delete)
            {
                acc.Instance.DeleteAccDocItems(entity.GetFieldValue <Guid?>("AccDoc"), "RefOp_PayReceipt", payReceiptID);
            }
        }
Beispiel #10
0
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.BeforeApplyChanges(dbHelper, entity);

            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add))
            {
                if (dbHelper.EntityExists("rp.Tankhah",
                                          string.Format("TankhahNo = {0} and FinancialYear = '{1}' and ID <> '{2}'",
                                                        entity.GetFieldValue <int>("TankhahNo"),
                                                        entity.GetFieldValue <Guid>("FinancialYear"),
                                                        entity.GetFieldValue <Guid>("ID"))))
                {
                    throw new AfwException("شماره تنخواه تکراری است.");
                }
            }

            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Modify, EntityChangeTypes.Delete))
            {
                var oldTankhah = dbHelper.FetchSingleByID("rp.Tankhah", entity.GetFieldValue <Guid>("ID"), null);

                if (oldTankhah.GetFieldValue <Guid?>("AccDoc") != null &&
                    entity.GetFieldValue <Guid?>("AccDoc") != null /*except when deleting Doc that sets AccDoc field to null*/)
                {
                    throw new AfwException("امکان تغییر یا حذف این آیتم بدلیل صدور سند حسابداری وجود ندارد.");
                }
            }
        }
Beispiel #11
0
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.BeforeApplyChanges(dbHelper, entity);

            if (entity.ChangeStatus == EntityChangeTypes.Delete)
            {
                var workflowDefID            = entity.GetFieldValue <Guid>("ID");
                var workflowStageOrgPostions = dbHelper.FetchMultiple("cmn.WorkflowStageOrgPostion",
                                                                      string.Format("WorkflowDef = '{0}'", workflowDefID.ToString()), null, null, null, null).Entities;

                foreach (Entity workflowStageOrgPostion in workflowStageOrgPostions)
                {
                    dbHelper.DeleteEntity(workflowStageOrgPostion);
                }
            }

            if (entity.ChangeStatus != EntityChangeTypes.Delete)
            {
                var workflowFormID = entity.GetFieldValue <Guid>("WorkflowForm");

                if (dbHelper.EntityExists("cmn.WorkflowDef",
                                          string.Format("WorkflowForm = '{0}' and ID <> '{1}'",
                                                        workflowFormID, entity.GetFieldValue <Guid>("ID"))))
                {
                    throw new AfwException("برای این فرم، گردش کار دیگری تعریف شده است.");
                }
            }
        }
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.BeforeApplyChanges(dbHelper, entity);

            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify))
            {
                if (String.IsNullOrEmpty(entity.GetFieldValue <string>("SerialNumber")))
                {
                    throw new AfwException("هیچ شماره سریالی وارد نشده است.");
                }

                var redundantExists = dbHelper.EntityExists("wm.StuffSerialNumber",
                                                            string.Format("GhabzOrHavaleItem = '{0}' and SerialNumber = '{1}' and ID <> '{2}'",
                                                                          entity.GetFieldValue <Guid>("GhabzOrHavaleItem"),
                                                                          entity.GetFieldValue <string>("SerialNumber"),
                                                                          entity.GetFieldValue <Guid>("ID")));

                if (redundantExists)
                {
                    var rowNumber = dbHelper.FetchSingleByID("wm.GhabzOrHavaleItem",
                                                             entity.GetFieldValue <Guid>("GhabzOrHavaleItem"), null).GetFieldValue <int>("RowNumber");
                    throw new AfwException("برای کالا در سطر {0} شماره سریال {1} تکراری ثبت شده است.", rowNumber, entity.GetFieldValue <string>("SerialNumber"));
                }
            }
        }
Beispiel #13
0
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.BeforeApplyChanges(dbHelper, entity);

            //DebugHelper.Break();

            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify))
            {
                var redundantExists = dbHelper.EntityExists("ps.PriceList",
                                                            string.Format("Title = '{0}' and ID <> '{1}'",
                                                                          entity.GetFieldValue <string>("Title"),
                                                                          entity.GetFieldValue <Guid>("ID")));

                if (redundantExists)
                {
                    throw new AfwException("این لیست قیمت با این نام قبلا ثبت شده است.");
                }

                if (entity.GetFieldValue <bool>("IsDefault") == true)
                {
                    var isDefaultExists = dbHelper.EntityExists("ps.PriceList",
                                                                string.Format("IsDefault = '{0}' and SaleBuyType = '{1}' and ID <> '{2}'",
                                                                              entity.GetFieldValue <bool>("IsDefault"),
                                                                              entity.GetFieldValue <Guid>("SaleBuyType"),
                                                                              entity.GetFieldValue <Guid>("ID")));

                    if (isDefaultExists)
                    {
                        var priceListEntity = dbHelper.FetchSingle("ps.PriceList",
                                                                   string.Format("IsDefault = '{0}' and SaleBuyType = '{1}' and ID <> '{2}'",
                                                                                 entity.GetFieldValue <bool>("IsDefault"),
                                                                                 entity.GetFieldValue <Guid>("SaleBuyType"),
                                                                                 entity.GetFieldValue <Guid>("ID")), null);

                        priceListEntity.ChangeStatus = "Modify";
                        priceListEntity.SetFieldValue("IsDefault", false);
                        dbHelper.ApplyChanges(priceListEntity);
                    }
                }
            }
        }
Beispiel #14
0
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.BeforeApplyChanges(dbHelper, entity);

            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify))
            {
                var redundantExists = dbHelper.EntityExists("rp.QuickSettlementCashItem",
                                                            string.Format("Cash = '{0}' and Gender = '{1}' and FinancialOpKind = '{2}' and ID <> '{3}'",
                                                                          entity.GetFieldValue <Guid>("Cash"),
                                                                          entity.GetFieldValue <Guid>("Gender"),
                                                                          entity.GetFieldValue <Guid>("FinancialOpKind"),
                                                                          entity.GetFieldValue <Guid>("ID")));

                if (redundantExists)
                {
                    throw new AfwException("این آیتم صندوق در تسویه سریع قبلا ثبت شده است.");
                }

                if (entity.GetFieldValue <bool>("IsDefault") == true)
                {
                    var isDefaultExists = dbHelper.EntityExists("rp.QuickSettlementCashItem",
                                                                string.Format("IsDefault = '{0}' and ID <> '{1}'",
                                                                              entity.GetFieldValue <bool>("IsDefault"),
                                                                              entity.GetFieldValue <Guid>("Gender"),
                                                                              entity.GetFieldValue <Guid>("ID")));

                    if (isDefaultExists)
                    {
                        var beforeQuickSettlementCashItemEntity = dbHelper.FetchSingle("rp.QuickSettlementCashItem",
                                                                                       string.Format("IsDefault = '{0}' and Gender = '{1}' and ID <> '{2}'",
                                                                                                     entity.GetFieldValue <bool>("IsDefault"),
                                                                                                     entity.GetFieldValue <Guid>("Gender"),
                                                                                                     entity.GetFieldValue <Guid>("ID")), null);

                        beforeQuickSettlementCashItemEntity.ChangeStatus = "Modify";
                        beforeQuickSettlementCashItemEntity.SetFieldValue("IsDefault", false);
                        dbHelper.ApplyChanges(beforeQuickSettlementCashItemEntity);
                    }
                }
            }
        }
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            if (wm.Instance.IsRunningUnvaluation)
            {
                LoadOldEntityOnBeforeApplyChanges = false;
            }

            base.BeforeApplyChanges(dbHelper, entity);

            if (wm.Instance.IsRunningUnvaluation)
            {
                return;
            }

            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify))
            {
                var ghabzOrHavale           = dbHelper.FetchSingleByID("wm.GhabzOrHavale", entity.GetFieldValue <Guid>("GhabzOrHavale"), null);
                var ghabzOrHavaleTypeEntity = wm.Instance.GetGhabzOrHavaleTypeEntity(ghabzOrHavale.GetFieldValue <Guid>("GhabzOrHavaleType"));
                var warehouseDocName        = OptionSetHelper.GetOptionSetItemName(ghabzOrHavaleTypeEntity.GetFieldValue <Guid>("WarehouseDocType"));
                var stuffLocationID         = ghabzOrHavale.GetFieldValue <Guid?>("StuffLocation");
                var stuffLocation           = dbHelper.FetchSingleByID("cmn.StuffLocation", (Guid)stuffLocationID, null);
                var stuff = dbHelper.FetchSingleByID("cmn.Stuff", entity.GetFieldValue <Guid>("Stuff"), null);

                if (entity.FieldExists("Stuff_Entity"))
                {
                    entity.RemoveField("Stuff_Entity");
                }

                if (entity.GetFieldValue <int>("Quantity") < 0)
                {
                    throw new AfwException("تعداد کالای وارد شده در سطر {0} مجاز نمی باشد.",
                                           entity.GetFieldValue <int>("RowNumber"));
                }
                else if (entity.GetFieldValue <int>("Quantity") == 0)
                {
                    //تنها در رسید و حواله تغییر ارزش تعداد 0 مجاز است و در این حالت هم نباید شماره بچ و وضعیت وارد شود
                    if (!string.IsNullOrEmpty(entity.GetFieldValue <string>("BatchNumber")) || entity.GetFieldValue <Guid?>("StuffStatus") != null)
                    {
                        throw new AfwException("تعداد کالای وارد شده در سطر {0} مجاز نمی باشد.",
                                               entity.GetFieldValue <int>("RowNumber"));
                    }
                }

                if (!dbHelper.EntityExists("cmn.StuffPossibleLocation", string.Format("StuffDef = '{0}' and StuffLocation = '{1}'",
                                                                                      stuff.GetFieldValue <Guid>("StuffDef"), stuffLocationID)))
                {
                    throw new AfwException("در تعریف کالای سطر {0}، {1} بعنوان انبار مجاز انتخاب نشده است.",
                                           entity.GetFieldValue <int>("RowNumber"), stuffLocation.GetFieldValue <string>("Name"));
                }

                new GhabzOrHavaleItemBL().ValidateBatchNumbers(entity);
            }
        }
Beispiel #16
0
        public override void AfterApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.AfterApplyChanges(dbHelper, entity);

            if (entity.ChangeStatus != EntityChangeTypes.Delete)
            {
                if (dbHelper.EntityExists("rp.FinancialOpKindAccSetting", string.Format("ID <> '{0}' and FinancialYear = '{1}' and FinancialOpKind = '{2}'",
                                                                                        entity.GetFieldValue <Guid>("ID"), entity.GetFieldValue <Guid>("FinancialYear"), entity.GetFieldValue <Guid>("FinancialOpKind"))))
                {
                    throw new AfwException("برای این سال مالی قبلا تنظیمات حسابداری ثبت شده است");
                }
            }
        }
Beispiel #17
0
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.BeforeApplyChanges(dbHelper, entity);

            //DebugHelper.Break();
            if (entity.ChangeStatus == EntityChangeTypes.Add)
            {
                if (entity.GetFieldValue <Guid?>("ParentOrganizationUnit") == null &&
                    dbHelper.EntityExists("cmn.OrganizationInformation", "ParentOrganizationUnit is null"))
                {
                    throw new AfwException("اطلاعات سازمان قبلا ثبت شده است.");
                }
            }
        }
Beispiel #18
0
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.BeforeApplyChanges(dbHelper, entity);

            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify))
            {
                var canceledSalesInvoiceInfoExists = dbHelper.EntityExists("ps.CanceledSalesInvoiceInfo",
                                                                           string.Format("OrganizationUnit = '{0}' and FinancialDocType = '{1}' and FinancialYear = '{2}' and InvoiceNumber = '{3}' and  ID <> '{4}'",
                                                                                         entity.GetFieldValue <Guid>("OrganizationUnit"),
                                                                                         entity.GetFieldValue <Guid>("FinancialDocType"),
                                                                                         entity.GetFieldValue <Guid>("FinancialYear"),
                                                                                         entity.GetFieldValue <int>("InvoiceNumber"),
                                                                                         entity.GetFieldValue <Guid>("ID")));

                if (canceledSalesInvoiceInfoExists)
                {
                    throw new AfwException("ابطال این فاکتور قبلا ثبت شده است.");
                }

                var salesInvoiceExists = dbHelper.EntityExists("ps.SalesInvoice",
                                                               string.Format(@"OrganizationUnit = '{0}' 
                        and FinancialDocType = '{1}' 
                        and FinancialYear = '{2}' 
                        and InvoiceNumber = '{3}' 
                        and IsProforma = 0 
                        and IsAmani = 0",
                                                                             entity.GetFieldValue <Guid>("OrganizationUnit"),
                                                                             entity.GetFieldValue <Guid>("FinancialDocType"),
                                                                             entity.GetFieldValue <Guid>("FinancialYear"),
                                                                             entity.GetFieldValue <int>("InvoiceNumber")));

                if (salesInvoiceExists)
                {
                    throw new AfwException("ابتدا فاکتور را حذف نمایید.");
                }
            }
        }
Beispiel #19
0
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.BeforeApplyChanges(dbHelper, entity);

            if (entity.ChangeStatus == EntityChangeTypes.Add)
            {
                //چک شود برای هرکالا تنها بتوان یکBOM ثبت کرد
                var stuffBomExists = dbHelper.EntityExists("cmn.StuffBOM",
                                                           string.Format("Stuff = '{0}'", entity.GetFieldValue <Guid>("Stuff")));

                if (stuffBomExists)
                {
                    throw new AfwException(" برای هر کالا تنها می توان یک BOM تعریف کرد. برای این کالا BOM تعریف شده است.");
                }
            }

            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify))
            {
                var stuffComponents = entity.GetFieldValue <EntityList>("StuffBOM_StuffComponents").Entities;

                foreach (var stuffComponent in stuffComponents)
                {
                    if (stuffComponent.FieldExists("Stuff_Entity"))
                    {
                        stuffComponent.RemoveField("Stuff_Entity");
                    }
                }

                if (stuffComponents.Any(o => o.GetFieldValue <decimal?>("ValuePercent") != null))
                {
                    int valuePercentSum = 0;

                    foreach (var stuffComponent in stuffComponents)
                    {
                        if (stuffComponent.GetFieldValue <decimal?>("ValuePercent") == null)
                        {
                            throw new AfwException("درصد ریالی برای سطر {0} وارد نشده است.\r\nدرصد ریالی باید یا برای همه سطر ها وارد شود و یا برای هیچ سطری وارد نشود.", stuffComponent.GetFieldValue <int>("RowNumber"));
                        }

                        valuePercentSum += stuffComponent.GetFieldValue <int>("ValuePercent");
                    }

                    if (valuePercentSum != 100)
                    {
                        throw new AfwException("مجموع درصد ریالی اجزاء باید برابر با 100 باشد.");
                    }
                }
            }
        }
Beispiel #20
0
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.BeforeApplyChanges(dbHelper, entity);

            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify))
            {
                if (dbHelper.EntityExists("ps.TaxAndTollPercent",
                                          string.Format("ID <> '{0}' and (FromDate between '{1}' and '{2}' or ToDate between '{1}' and '{2}')",
                                                        entity.GetFieldValue <Guid>("ID"), entity.GetFieldValue <DateTime>("FromDate"), entity.GetFieldValue <DateTime>("ToDate"))
                                          ))
                {
                    throw new AfwException("رکورد دیگری با این رکورد همپوشانی زمانی دارد.");
                }
            }
        }
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.BeforeApplyChanges(dbHelper, entity);

            if (entity.ChangeStatus != EntityChangeTypes.Delete)
            {
                if (dbHelper.EntityExists("cmn.DiscountAccSetting",
                                          string.Format("Discount = '{0}' and FinancialYear = '{1}' and ID <> '{2}'",
                                                        entity.GetFieldValue <Guid>("Discount"),
                                                        entity.GetFieldValue <Guid>("FinancialYear"),
                                                        entity.GetFieldValue <Guid>("ID"))))
                {
                    throw new AfwException("این رکورد قبلا ثبت شده است");
                }
            }
        }
Beispiel #22
0
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.BeforeApplyChanges(dbHelper, entity);

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

            if (entity.ChangeStatus != EntityChangeTypes.Delete)
            {
                if (dbHelper.EntityExists("cmn.StuffLabel",
                                          string.Format("Name = N'{0}' and ID <> '{1}'",
                                                        entity.GetFieldValue <string>("Name"), id)))
                {
                    throw new AfwException("این برچسب قبلا ثبت شده است");
                }
            }
        }
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.BeforeApplyChanges(dbHelper, entity);

            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify))
            {
                var redundantExists = dbHelper.EntityExists("wm.AuthorizedSystemUser",
                    string.Format("GhabzOrHavaleType = '{0}' and SystemUser = '******' and ID <> '{2}'",
                        entity.GetFieldValue<Guid>("GhabzOrHavaleType"),
                        entity.GetFieldValue<Guid>("SystemUser"),
                        entity.GetFieldValue<Guid>("ID")));

                if (redundantExists)
                    throw new AfwException("این شخص قبلا ثبت شده است.");
            }
        }
Beispiel #24
0
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.BeforeApplyChanges(dbHelper, entity);

            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify))
            {
                var redundantExists = dbHelper.EntityExists("rp.AllowedPosDevice",
                                                            string.Format("PosDevice = '{0}' and ID <> '{1}'",
                                                                          entity.GetFieldValue <Guid>("PosDevice"),
                                                                          entity.GetFieldValue <Guid>("ID")));

                if (redundantExists)
                {
                    throw new AfwException("این دستگاه پوز قبلا ثبت شده است.");
                }
            }
        }
Beispiel #25
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);
                }
            }
        }
Beispiel #26
0
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.BeforeApplyChanges(dbHelper, entity);

            //DebugHelper.Break();

            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify))
            {
                if (dbHelper.EntityExists("rp.HavalePardakhti",
                                          string.Format("ShomareHavale = '{0}' and ID <> '{1}'",
                                                        entity.GetFieldValue <string>("ShomareHavale"),
                                                        entity.GetFieldValue <Guid>("ID"))))
                {
                    throw new AfwException("ShomareHavaleVojoodDarad");
                }
            }
        }
Beispiel #27
0
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.BeforeApplyChanges(dbHelper, entity);

            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify))
            {
                var redundantExists = dbHelper.EntityExists("rp.QuickSettlementPosItem",
                                                            string.Format("PosDevice = '{0}' and FinancialOpKind = '{1}' and ID <> '{2}'",
                                                                          entity.GetFieldValue <Guid>("PosDevice"),
                                                                          entity.GetFieldValue <Guid>("FinancialOpKind"),
                                                                          entity.GetFieldValue <Guid>("ID")));

                if (redundantExists)
                {
                    throw new AfwException("این آیتم پوز در تسویه سریع قبلا ثبت شده است.");
                }
            }
        }
Beispiel #28
0
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.BeforeApplyChanges(dbHelper, entity);

            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify))
            {
                var redundantExists = dbHelper.EntityExists("rp.AllowedBankAccount",
                                                            string.Format("BankAccount = '{0}' and Gender = '{1}' and ID <> '{2}'",
                                                                          entity.GetFieldValue <Guid>("BankAccount"),
                                                                          entity.GetFieldValue <Guid>("Gender"),
                                                                          entity.GetFieldValue <Guid>("ID")));

                if (redundantExists)
                {
                    throw new AfwException("این حساب بانکی قبلا ثبت شده است.");
                }
            }
        }
Beispiel #29
0
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.BeforeApplyChanges(dbHelper, entity);

            //DebugHelper.Break();
            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify))
            {
                var redundantExists = dbHelper.EntityExists("cmn.FloatPriority",
                                                            string.Format("Account = '{0}'and ID <> '{1}'",
                                                                          entity.GetFieldValue <Guid>("Account"),
                                                                          entity.GetFieldValue <Guid>("ID")));

                if (redundantExists)
                {
                    throw new AfwException("این حساب قبلا ثبت شده است.");
                }
            }
        }
        public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity)
        {
            base.BeforeApplyChanges(dbHelper, entity);

            if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify))
            {
                var redundantExists = dbHelper.EntityExists("ps.PriceListServiceItem",
                                                            string.Format("PriceList = '{0}' and Service = '{1}' and ID <> '{2}'",
                                                                          entity.GetFieldValue <Guid>("PriceList"),
                                                                          entity.GetFieldValue <Guid>("Service"),
                                                                          entity.GetFieldValue <Guid>("ID")));

                if (redundantExists)
                {
                    throw new AfwException("این خدمات قبلا ثبت شده است.");
                }
            }
        }