public void Insert(GlAccountSubGroupModel model)
        {
            using (EHMSEntities ent = new EHMSEntities())
            {
                int    Level    = 0;
                string Hierachy = "";
                var    data     = ent.GL_AccSubGroups.Where(x => x.AccSubGruupID == model.ParentID).FirstOrDefault();
                if (model.ParentID == 0)
                {
                    Level    = 2;
                    Hierachy = model.AccGroupID.ToString();
                }
                else
                {
                    Hierachy = data.HierarchyCode + "." + model.ParentID.ToString();
                    Level    = data.HeadLevel + 1;
                }
                var objGlAccount = new GL_AccSubGroups()
                {
                    AccGroupID      = model.AccGroupID,
                    ParentID        = model.ParentID,
                    Remarks         = model.Remarks,
                    IsLeafLevel     = model.IsLeafLevel,
                    CreatedDate     = DateTime.Now,
                    CreatedBy       = Utility.GetCurrentLoginUserId(),
                    HeadLevel       = Level,
                    HierarchyCode   = Hierachy,
                    Status          = true,
                    AccSubGroupName = model.AccSubGroupName
                };
                ent.GL_AccSubGroups.Add(objGlAccount);
                ent.SaveChanges();
                int id          = objGlAccount.AccSubGruupID;
                int parentnewid = Utility.GetAccHeadIDFromDescription("Staff Advance");
                if (model.ParentID == parentnewid)
                {
                    SetupEmployeeMaster SEMP = (from x in ent.SetupEmployeeMasters
                                                where x.EmployeeMasterId == model.EmployeeMasterId && x.Status == true
                                                select x).First();
                    SEMP.AccountHeadID = objGlAccount.AccSubGruupID;
                    ent.SaveChanges();
                }

                int SalaryParentid = Utility.GetAccHeadIDFromDescription("Salary Payable");
                if (model.ParentID == SalaryParentid)
                {
                    SetupEmployeeMaster SEMP = (from x in ent.SetupEmployeeMasters
                                                where x.EmployeeMasterId == model.EmployeeMasterId && x.Status == true
                                                select x).First();
                    SEMP.SPAccountHeadID = objGlAccount.AccSubGruupID;
                    ent.SaveChanges();
                }
            }
        }
        //to get account sub group detail
        public string GetAccountSubGroupDetail(int id)
        {
            GL_AccSubGroups result = ent.GL_AccSubGroups.Where(x => x.AccSubGroupId == id).FirstOrDefault();

            LedgerMasterModel model = new LedgerMasterModel();

            model.AccSubGroupId   = result.AccSubGroupId;
            model.AccSubGroupName = result.AccSubGroupName;

            return(model.AccSubGroupName);
        }
Beispiel #3
0
        public int Insert(StockSupplierModel model)
        {
            using (EHMSEntities ent = new EHMSEntities())
            {
                if (ent.SetupStockSuppliers.Where(x => x.StockSupplierName == model.StockSupplierName).Any())
                {
                    return(0);
                }

                //first add in coa, Sundry Creditors add accgroupid =2 parenet id 1706 , hierarchycode 2.1253.1256 head level 5 isleave yes
                var Globj = new GL_AccSubGroups()
                {
                    AccGroupID      = 2,
                    AccSubGroupName = model.StockSupplierName,
                    ParentID        = 1706,
                    HeadLevel       = 5,
                    HierarchyCode   = "2.1253.1256.1706",
                    IsLeafLevel     = true,
                    Status          = true,
                    CreatedBy       = Utility.GetCurrentLoginUserId(),
                    CreatedDate     = DateTime.Today,
                    Remarks         = "Automatic from stock",
                };
                ent.GL_AccSubGroups.Add(Globj);
                ent.SaveChanges();

                var objToSave = AutoMapper.Mapper.Map <StockSupplierModel, SetupStockSupplier>(model);
                objToSave.Status        = true;
                objToSave.CreatedBy     = 1;
                objToSave.AccountHeadId = Globj.AccSubGruupID;
                objToSave.CreatedDate   = DateTime.Now;

                ent.SetupStockSuppliers.Add(objToSave);
                ent.SaveChanges();
            }
            return(1);
        }
        public int Insert(SetupPathoTestModel model)
        {
            using (EHMSEntities ent = new EHMSEntities())
            {
                var objToSave = AutoMapper.Mapper.Map <SetupPathoTestModel, SetupPathoTest>(model);
                objToSave.CreatedBy   = 1;
                objToSave.CreatedDate = DateTime.Now;
                objToSave.Status      = 1;
                decimal TaxTotal = Convert.ToDecimal((model.PayableGrandTotal * 5) / 100);
                objToSave.PayableTaxTotal = TaxTotal;

                decimal PathoTaxTotal = Convert.ToDecimal((model.PathologyCommAmt * 5) / 100);
                objToSave.PathologyCommPer = PathoTaxTotal;

                ent.SetupPathoTests.Add(objToSave);
                ent.SaveChanges();
                int LastInsertedId = objToSave.TestId;

                //insert into Gl_accsub group coa
                if (model.SectionId == 24)
                {
                    var GlAccSubgroup = new GL_AccSubGroups()
                    {
                        AccGroupID      = 3,
                        AccSubGroupName = model.TestName,
                        ParentID        = 423,
                        HierarchyCode   = "3.1.2.3.423",
                        HeadLevel       = 6,
                        AccountCode     = null,
                        IsLeafLevel     = true,
                        Status          = true,
                        CreatedBy       = Utility.GetCurrentLoginUserId(),
                        CreatedDate     = DateTime.Today,
                        Remarks         = "SpecialTest",
                        BranchId        = 1
                    };
                    ent.GL_AccSubGroups.Add(GlAccSubgroup);
                    ent.SaveChanges();
                    int LastInsertedCoaId = GlAccSubgroup.AccSubGruupID;
                    //Update setuppatho test
                    SetupPathoTest PathoTest = (from x in ent.SetupPathoTests
                                                where x.TestId == LastInsertedId
                                                select x).First();
                    PathoTest.AccountHeadId = LastInsertedCoaId;
                    try
                    {
                        ent.SaveChanges();
                    }
                    catch (DbEntityValidationException ex)
                    {
                        StringBuilder sb = new StringBuilder();

                        foreach (var failure in ex.EntityValidationErrors)
                        {
                            sb.AppendFormat("{0} failed validation\n", failure.Entry.Entity.GetType());
                            foreach (var error in failure.ValidationErrors)
                            {
                                sb.AppendFormat("- {0} : {1}", error.PropertyName, error.ErrorMessage);
                                sb.AppendLine();
                            }
                        }

                        throw new DbEntityValidationException(
                                  "Entity Validation Failed - errors follow:\n" +
                                  sb.ToString(), ex
                                  ); // Add the original exception as the innerException
                    }
                }
            }
            return(1);
        }
        public int Insert(DepositMasterModel model)
        {
            using (EHMSEntities ent = new EHMSEntities())
            {
                //Insert into CA Table
                //If User already exist, dont insert
                //check if user has alreary accountheadcode in opdmaster
                //Get Currnet receipt number
                int UserReceiptNumber    = Utility.GetMaxBillNumberFromDepartment("Deposit", 1);
                int UserAccountHeadIdInt = 0;
                var userAccountHeadId    = ent.OpdMasters.Where(x => x.OpdID == model.PatientId).FirstOrDefault();
                if (userAccountHeadId.AccountHeadId != null)
                {
                    UserAccountHeadIdInt = (int)userAccountHeadId.AccountHeadId;
                }

                var ObjGlAccSubGroup = new GL_AccSubGroups();
                if (UserAccountHeadIdInt > 0)
                {
                }

                else
                {
                    ObjGlAccSubGroup = new GL_AccSubGroups()
                    {
                        AccGroupID      = 2,
                        AccSubGroupName = HospitalManagementSystem.Utility.GetPatientNameWithIdFromOpd(model.PatientId),
                        ParentID        = 1258,
                        HierarchyCode   = "2.1253.1257.1258",
                        HeadLevel       = 5,
                        AccountCode     = null,
                        IsLeafLevel     = true,
                        Status          = true,
                        CreatedBy       = HospitalManagementSystem.Utility.GetCurrentLoginUserId(),
                        CreatedDate     = DateTime.Now,
                        Remarks         = "Deposit",
                        BranchId        = 1
                    };

                    ent.GL_AccSubGroups.Add(ObjGlAccSubGroup);
                    ent.SaveChanges();
                    UserAccountHeadIdInt = ObjGlAccSubGroup.AccSubGruupID;
                }


                //Update in opdmaster table
                OpdMaster AccountHeadId = (from x in ent.OpdMasters
                                           where x.OpdID == model.PatientId
                                           select x).First();
                AccountHeadId.AccountHeadId = UserAccountHeadIdInt;

                var SaveDepositMaster = AutoMapper.Mapper.Map <DepositMasterModel, PatientDepositMaster>(model);
                SaveDepositMaster.CreatedBy           = Utility.GetCurrentLoginUserId();
                SaveDepositMaster.CreatedDate         = DateTime.Now;
                SaveDepositMaster.CreatedDepartmentId = Utility.GetCurrentUserDepartmentId();
                SaveDepositMaster.Status          = true;
                SaveDepositMaster.SwipeCardId     = "NN009";
                SaveDepositMaster.ReceiptID       = UserReceiptNumber;
                SaveDepositMaster.SwipeCardDetail = "ScardDetails";

                ent.PatientDepositMasters.Add(SaveDepositMaster);

                //Get Currrent Receipt Number
                int ReceiptNumberInt = Utility.GetMaxBillNumberFromDepartment("Hospital", 1);


                var ObjCentralizedBillingMaster = new CentralizedBillingMaster()
                {
                    BillNo              = ReceiptNumberInt,
                    BillDate            = DateTime.Now,
                    TotalBillAmount     = model.DepositedAmount,
                    Narration1          = "Deposit",
                    Narration2          = "",
                    DepartmentName      = "CB",
                    SubDepartmentId     = 1,
                    PatientLogId        = HospitalManagementSystem.Utility.getPatientLogID(model.PatientId),
                    PatientId           = model.PatientId,
                    CreatedDepartmentId = HospitalManagementSystem.Utility.GetCurrentUserDepartmentId(),
                    CreatedBy           = HospitalManagementSystem.Utility.GetCurrentLoginUserId(),
                    CreatedDate         = DateTime.Now,
                    Remarks             = "Deposit",
                    Status              = true,
                    BranchId            = 1,
                    JVStatus            = false,
                    ReceiptId           = Utility.GetMaxDepositeNumber(),
                    IsHandover          = false,
                    ReturnedAmount      = Convert.ToDecimal(0),
                    TenderAmount        = Convert.ToDecimal(0),
                    TotalDiscountAmount = Convert.ToDecimal(0),
                    TotalDiscountID     = 0,
                    PayableType         = 1//general
                };

                ent.CentralizedBillingMasters.Add(ObjCentralizedBillingMaster);

                var ObjCentralizedBillingDetails = new CentralizedBillingDetail()
                {
                    BillNo           = ReceiptNumberInt,
                    AccountHeadID    = 1258,                 //deposit
                    AccountSubHeadID = UserAccountHeadIdInt, //patientId
                    Amount           = model.DepositedAmount,
                    Status           = true,
                    DepartmentId     = 1003//Ipd Department
                };
                ent.CentralizedBillingDetails.Add(ObjCentralizedBillingDetails);

                var ObjCentralizedBillingPaymentType = new CentralizedBillingPaymentType()
                {
                    BillNo           = ReceiptNumberInt,
                    PaymentTypeID    = 372,
                    Amount           = model.DepositedAmount,
                    Status           = true,
                    PaymentSubTypeID = Convert.ToInt32(0)
                };
                ent.CentralizedBillingPaymentTypes.Add(ObjCentralizedBillingPaymentType);

                //update Bill Number
                SetupHospitalBillNumber billNumber = (from x in ent.SetupHospitalBillNumbers
                                                      where x.DepartmentName == "Hospital" && x.FiscalYearId == 1
                                                      select x).First();
                billNumber.BillNumber = billNumber.BillNumber + 1;
                ent.SaveChanges();

                //update Bill Number
                SetupHospitalBillNumber billNumberDeposit = (from x in ent.SetupHospitalBillNumbers
                                                             where x.DepartmentName == "Deposit" && x.FiscalYearId == 1
                                                             select x).First();
                billNumberDeposit.BillNumber = billNumberDeposit.BillNumber + 1;
                ent.SaveChanges();

                return(SaveDepositMaster.PatientDepositMasterId);
            }
        }