Ejemplo n.º 1
0
        public int Insert(OperationTheatreMasterModel model)
        {
            int i = 0;

            using (EHMSEntities ent = new EHMSEntities())
            {
                if (ent.OperationTheatreMasters.Where(x => x.Status == true && x.OperationDate == model.OperationDate && (
                                                          (x.OperationStartTime <= model.OperationStartTime && x.OperationEndTime >= model.OperationStartTime) ||
                                                          (x.OperationStartTime <= model.OperationEndTime && x.OperationEndTime >= model.OperationEndTime)
                                                          ) && x.OperationRoomID == model.OperationRoomID).Any())
                {
                    return(i);
                }


                var objToSave = AutoMapper.Mapper.Map <OperationTheatreMasterModel, OperationTheatreMaster>(model);
                objToSave.Status = true;
                //objToSave.SourceID = "1";
                objToSave.CreatedBy   = 1;
                objToSave.CreatedDate = DateTime.Now;
                //objToSave.ValidUpto = Convert.ToDateTime(model.date);
                if (model.Discount != null)
                {
                    objToSave.TotalCharge = model.Charge - model.Discount;
                }
                else
                {
                    objToSave.TotalCharge = model.Charge;
                }
                ent.OperationTheatreMasters.Add(objToSave);
                ent.SaveChanges();
                int k = objToSave.OperationTheatreMasterID;

                foreach (var item in model.PersonAllocatedList)
                {
                    var objTheatreDetails = new OperationTheatreDetail();
                    objTheatreDetails.OperationTheatreMasterID = objToSave.OperationTheatreMasterID;
                    objTheatreDetails.PersonAllocatedID        = item.PersonAllocateId;
                    objTheatreDetails.PersonAllocatedTypeID    = item.PersonAllocatedTypeId;
                    ent.OperationTheatreDetails.Add(objTheatreDetails);
                    i = ent.SaveChanges();
                }

                int    BillNumberInt = Utility.GetMaxBillNumberFromDepartment("Hospital", 1);
                string BillNumberStr = "BL-" + BillNumberInt.ToString();


                //calcuate charge amount and tax
                decimal ChargeFeeAndTaxTotal      = (decimal)model.Charge;
                decimal ChargeOnly                = (ChargeFeeAndTaxTotal * 100) / 105;
                decimal ChargeFeeTaxOnly          = ChargeFeeAndTaxTotal - ChargeOnly;
                decimal ChargeAmountAfterDiscount = Convert.ToDecimal(0);


                //Calculate Discount

                //Check If discount or not
                decimal TotalDiscountAmount = Convert.ToDecimal(0);
                int     TotalDiscountHeadId = 0;
                //Discount Calculation
                if (model.Discount > 0)
                {
                    TotalDiscountAmount       = (decimal)model.Discount;
                    TotalDiscountHeadId       = 369;
                    ChargeAmountAfterDiscount = ChargeFeeAndTaxTotal - TotalDiscountAmount;
                }
                //fee amount
                var ObjFeeDetails = new CentralizedBillingDetail()
                {
                };
                //tax amount
                var ObjTaxDetails = new CentralizedBillingDetail()
                {
                };

                //discount amount
                var ObjDiscountDtls = new CentralizedBillingDetail()
                {
                };



                //Payment Type only Deposit
                var ObjPayment = new CentralizedBillingPaymentType()
                {
                };

                //master table
                var ObjMaster = new CentralizedBillingMaster()
                {
                };

                //Insert into centralizedbillingdetails
                //var ObjCentralizedBillingDetails = new CentralizedBillingDetail()
                //{
                //    BillNo = BillNumberInt,
                //    AccountHeadID = 111,//Ot Charge id from coa
                //    Amount = ChargeOnly,
                //    Status = true,
                //    Times = 1

                //};
                //ent.CentralizedBillingDetail.Add(ObjCentralizedBillingDetails);

                //ObjCentralizedBillingDetails = new CentralizedBillingDetail()
                //{
                //    BillNo = BillNumberInt,
                //    AccountHeadID = 112,//Ot Charge tax from coa
                //    Amount = ChargeFeeTaxOnly,
                //    Status = true,
                //    DepartmentId = 1005,
                //    Times = 1

                //};
                //ent.CentralizedBillingDetail.Add(ObjCentralizedBillingDetails);


                //var ObjCentralizedBillingPaymentType = new CentralizedBillingPaymentType()
                //{
                //    BillNo = BillNumberInt,
                //    PaymentTypeID = 1,//Cash or bank from coa
                //    PaymentSubTypeID = 1,
                //    Amount = ChargeAmountAfterDiscount,
                //    Status = true
                //};
                //ent.CentralizedBillingPaymentType.Add(ObjCentralizedBillingPaymentType);

                //Add Details in centralized billing master
                //var ObjCentralizedBillingMaster = new CentralizedBillingMaster()
                //{
                //    BillNo = BillNumberInt,
                //    TotalBillAmount = ChargeFeeAndTaxTotal,
                //    Narration1 = "Narration",
                //    Narration2 = "",
                //    DepartmentName = "Ot",
                //    SubDepartmentId = 1,
                //    PatientLogId = (int)objToSave.SourceID,
                //    PatientId = (int)objToSave.SourceID,
                //    TotalDiscountID = TotalDiscountHeadId,
                //    TotalDiscountAmount = TotalDiscountAmount,
                //    //JVNumber=1
                //    JVStatus = false,
                //    CreatedDepartmentId = Hospital.Utility.GetCurrentUserDepartmentId(),
                //    CreatedBy = Hospital.Utility.GetCurrentLoginUserId(),
                //    CreatedDate = DateTime.Now,
                //    Remarks = "OT",
                //    Status = true,
                //    BranchId = 1,
                //    IsHandover = false,
                //    ReceiptId = 0,
                //    ReturnedAmount = Convert.ToDecimal(0),
                //    TenderAmount = Convert.ToDecimal(0)

                //};
                //ent.CentralizedBillingMaster.Add(ObjCentralizedBillingMaster);



                //objtoSaveCentralizedBilling = new CentralizedBilling()
                //{
                //    AccountHeadId = 22,
                //    Amount = (decimal)model.Discount,
                //    AmountDate = DateTime.Now,
                //    PaymentType = "Cash",
                //    Narration1 = "OT Fee Discount",
                //    Narration2 = "Discount",
                //    DepartmentName = "OT",
                //    SubDepartmentId = Utility.GetCurrentUserDepartmentId(),
                //    BillNumber = BillNumberStr,
                //    LedgerMasterId = ent.GL_LedgerMaster.Where(x => x.SourceID == objToSave.SourceID).SingleOrDefault().LedgerMasterID,
                //    PatientLogId = (int)objToSave.SourceID,
                //    PatientId = (int)objToSave.SourceID,
                //    JVStatus = false,
                //    CreatedBy = Utility.GetCurrentLoginUserId(),
                //    CreatedDate = DateTime.Now,
                //    Remarks = "OT",
                //    Status = true,
                //    ItemDiscountPercentage = 0
                //};
                //ent.CentralizedBilling.Add(objtoSaveCentralizedBilling);



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

                ent.SaveChanges();

                return(k);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        public int Insert(EmergecyMasterModel model)
        {
            int i = 0;

            using (EHMSEntities ent = new EHMSEntities())
            {
                int maxemerid;
                var query = ent.EmergencyMasters.Where(m => m.EmergencyMasterId == ent.EmergencyMasters.Max(n => n.EmergencyMasterId)).SingleOrDefault();
                if (query == null)
                {
                    maxemerid = 1;
                }
                else
                {
                    maxemerid = query.EmergencyMasterId + 1;
                }

                var objToSaveOpd = new OpdMaster()
                {
                    PatientTitle        = model.ObjOpdMaster.PatientTitle,
                    FirstName           = model.ObjOpdMaster.FirstName,
                    MiddleName          = model.ObjOpdMaster.MiddleName,
                    LastName            = model.ObjOpdMaster.LastName,
                    Sex                 = model.ObjOpdMaster.Sex,
                    AgeYear             = model.ObjOpdMaster.AgeYear,
                    MaritalStatus       = model.ObjOpdMaster.MaritalStatus,
                    BloodGroup          = model.ObjOpdMaster.BloodGroup,
                    RegistrationDate    = DateTime.Now,
                    RegistrationSource  = "Emer",
                    CreatedBy           = HospitalManagementSystem.Utility.GetCurrentLoginUserId(),
                    DepartmentId        = Utility.GetCurrentUserDepartmentId(),
                    DepartmentPatientId = maxemerid,
                    CreatedDate         = DateTime.Now,
                    RegistrationMode    = "Visit",
                    Address             = model.ObjOpdMaster.Address,
                    Status              = true,
                    PaidOnPaid          = true,
                    CountryID           = model.ObjOpdMaster.CountryID
                };

                ent.OpdMasters.Add(objToSaveOpd);
                ent.SaveChanges();

                var objToSave = AutoMapper.Mapper.Map <EmergecyMasterModel, EmergencyMaster>(model);
                try
                {
                    objToSave.OpdMasterId     = maxemerid;
                    objToSave.EmergencyNumber = maxemerid;
                    objToSave.SerialNumber    = maxemerid;
                    objToSave.CreatedBy       = HospitalManagementSystem.Utility.GetCurrentLoginUserId();
                    objToSave.Status          = 1;
                    objToSave.CreatedDate     = DateTime.Today;
                    objToSave.OutcomeTypeId   = 1;
                    objToSave.OpdMasterId     = objToSaveOpd.OpdID;
                    ent.EmergencyMasters.Add(objToSave);
                    ent.SaveChanges();
                }
                catch (DbEntityValidationException e)
                {
                    foreach (var eve in e.EntityValidationErrors)
                    {
                        Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                          eve.Entry.Entity.GetType().Name, eve.Entry.State);
                        foreach (var ve in eve.ValidationErrors)
                        {
                            Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                              ve.PropertyName, ve.ErrorMessage);
                        }
                    }
                    throw;
                }



                var objtosavedetails = AutoMapper.Mapper.Map <EmergencyTriageModel, EmergencyTriage>(model.EmergencyTriageModel);
                objtosavedetails.EmergencyMasterId = objToSave.EmergencyMasterId;
                objtosavedetails.sourceTypeId      = 1;
                objtosavedetails.SourceId          = 1;
                objtosavedetails.TriageLevel       = 1;
                ent.EmergencyTriages.Add(objtosavedetails);
                //feedetails
                var objTosaveFeedetails = AutoMapper.Mapper.Map <EmergencyFeeDetailsModel, EmergencyFeeDetail>(model.EmergencyFeeDetailsModel);
                // decimal? aa = objTosaveFeedetails.DoctorFee;
                objTosaveFeedetails.EmergencyMasterId       = objToSave.EmergencyMasterId;
                objTosaveFeedetails.FeeDate                 = objToSave.CreatedDate;
                objTosaveFeedetails.OtherDiscountPercentage = 0;
                objTosaveFeedetails.DoctorFee               = 0;
                objTosaveFeedetails.RegistrationFee         = model.EmergencyFeeDetailsModel.RegistrationFee;
                objTosaveFeedetails.TotalAmount             = model.EmergencyFeeDetailsModel.RegistrationFee;
                ent.EmergencyFeeDetails.Add(objTosaveFeedetails);

                //Legder&Transaction
                string LedgerName = "A/C " + model.ObjOpdMaster.FirstName + " " + (model.ObjOpdMaster.MiddleName + " " ?? string.Empty) + model.ObjOpdMaster.LastName;


                var objtoInsertLedger = new GL_LedgerMaster()
                {
                    AccountGroupID    = 1,
                    AccountSubGroupID = 1,
                    AccountTypeID     = 1,
                    CreatedBy         = Utility.GetCurrentLoginUserId(),
                    CreatedDate       = DateTime.Now,
                    DepartmentID      = 1001,
                    LedgerName        = LedgerName,
                    SourceID          = objToSaveOpd.OpdID,
                    LedgerSourceType  = "Patient",
                    Status            = 1
                };

                ent.GL_LedgerMaster.Add(objtoInsertLedger);
                ent.SaveChanges();


                var objToSavePatientLogMaster = new PatientLogMaster()
                {
                    PatientId        = objToSaveOpd.OpdID,
                    RegistrationDate = Convert.ToDateTime(objToSave.CreatedDate),
                    DepartmentId     = 1001,
                    Status           = true
                };

                ent.PatientLogMasters.Add(objToSavePatientLogMaster);
                ent.SaveChanges();

                //Patient logmaster max id

                int?intPatientLogID = objToSavePatientLogMaster.OpdMasterLogId;

                //if (intPatientLogID == null)
                //{
                //    intPatientLogID = 1;
                //}
                //else
                //{
                //    intPatientLogID = intPatientLogID;

                //}

                int    BillNumberInt = Utility.GetMaxBillNumberFromDepartment("Hospital", 1);
                string BillNumberStr = "BL-" + BillNumberInt.ToString();

                //Insert into new table

                //Emergency Ticket
                var ObjCentralizedBillingDetails = new CentralizedBillingDetail()
                {
                    BillNo        = BillNumberInt,
                    AccountHeadID = 357,//Emergency Ticket
                    Amount        = Convert.ToDecimal(404),
                    Status        = true,
                    DepartmentId  = 1001,
                    Times         = 1
                };
                ent.CentralizedBillingDetails.Add(ObjCentralizedBillingDetails);

                var ObjCentralizedBillingDetailstax = new CentralizedBillingDetail()
                {
                    BillNo        = BillNumberInt,
                    AccountHeadID = 1261,//Emergency Ticket
                    Amount        = Convert.ToDecimal(20.2),
                    Status        = true,
                    DepartmentId  = 1001,
                    Times         = 1
                };

                ent.CentralizedBillingDetails.Add(ObjCentralizedBillingDetailstax);


                var ObjCentralizedBillingPaymentType = new CentralizedBillingPaymentType()
                {
                    BillNo           = BillNumberInt,
                    PaymentTypeID    = 372,//Cash or bank from coa
                    PaymentSubTypeID = 0,
                    Amount           = model.EmergencyFeeDetailsModel.RegistrationFee,
                    Status           = true
                };
                ent.CentralizedBillingPaymentTypes.Add(ObjCentralizedBillingPaymentType);

                var ObjCentralizedBillingMaster = new CentralizedBillingMaster()
                {
                    BillNo              = BillNumberInt,
                    BillDate            = DateTime.Today,
                    TotalBillAmount     = model.EmergencyFeeDetailsModel.RegistrationFee,
                    TotalDiscountID     = 0,
                    TotalDiscountAmount = 0,
                    Narration1          = "Narraion",
                    Narration2          = "",
                    DepartmentName      = "Emergency",
                    SubDepartmentId     = 1,
                    PatientLogId        = (int)intPatientLogID,
                    PatientId           = objToSaveOpd.OpdID,
                    //JVNumber=1
                    JVStatus            = false,
                    CreatedDepartmentId = HospitalManagementSystem.Utility.GetCurrentUserDepartmentId(),
                    CreatedBy           = HospitalManagementSystem.Utility.GetCurrentLoginUserId(),
                    CreatedDate         = DateTime.Now,
                    Remarks             = "Emergency",
                    Status         = true,
                    BranchId       = 1,
                    IsHandover     = false,
                    ReceiptId      = 0,
                    ReturnedAmount = Convert.ToDecimal(0),
                    TenderAmount   = Convert.ToDecimal(0)
                };
                ent.CentralizedBillingMasters.Add(ObjCentralizedBillingMaster);


                var objtoSaveCentralizedBilling = new CentralizedBilling()
                {
                    AccountHeadId       = 19,
                    Amount              = model.EmergencyFeeDetailsModel.RegistrationFee,
                    AmountDate          = DateTime.Now,
                    PaymentType         = "Cash",
                    Narration1          = "Fee Details",
                    Narration2          = "Emergecy Fee",
                    DepartmentName      = "Emergency",
                    SubDepartmentId     = Utility.GetCurrentUserDepartmentId(),
                    BillNumber          = BillNumberStr,
                    LedgerMasterId      = objtoInsertLedger.LedgerMasterID,
                    PatientLogId        = (int)intPatientLogID,
                    PatientId           = objToSaveOpd.OpdID,
                    JVStatus            = false,
                    CreatedBy           = Utility.GetCurrentLoginUserId(),
                    CreatedDepartmentId = Utility.GetCurrentUserDepartmentId(),
                    CreatedDate         = DateTime.Now,
                    Remarks             = "Emergency",
                    PaidOnPaid          = false,
                    Status              = true
                };
                ent.CentralizedBillings.Add(objtoSaveCentralizedBilling);

                var objToInsertTran = new GL_Transaction()
                {
                    Amount            = model.EmergencyFeeDetailsModel.RegistrationFee,
                    DepartmentID      = 1001,
                    Dr_Cr             = "Cr",
                    LedgerMasterID    = objtoInsertLedger.LedgerMasterID,
                    Narration1        = "Emergency Fee",
                    RefNo             = maxemerid,
                    TransactionDate   = DateTime.Now,
                    TransactionTypeID = 1,
                    FeeTypeId         = 19,//emergency fee
                    CreatedBy         = HospitalManagementSystem.Utility.GetCurrentLoginUserId(),
                    CreatedDate       = DateTime.Now,
                };

                ent.GL_Transaction.Add(objToInsertTran);


                //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;


                //update vouchernumber
                //SetupVoucherNumber vouchernumber = (from x in ent.SetupVoucherNumber
                //                                    where x.DepartmentID == 1 && x.FiscalYear == 1
                //                                    select x).First();
                //vouchernumber.VoucherNo = vouchernumber.VoucherNo + 1;

                i = ent.SaveChanges();
            }

            return(i);
        }