示例#1
0
        public int Insert(OpdModel model)
        {
            int i = 0;

            using (EHMSEntities ent = new EHMSEntities())
            {
                var objTosaveOpdMaster = AutoMapper.Mapper.Map <OpdModel, OpdMaster>(model);
                objTosaveOpdMaster.CreatedBy           = Utility.GetCurrentLoginUserId();
                objTosaveOpdMaster.CreatedDate         = DateTime.Now;
                objTosaveOpdMaster.Status              = true;
                objTosaveOpdMaster.DepartmentId        = 4;
                objTosaveOpdMaster.DepartmentPatientId = null;
                objTosaveOpdMaster.RegistrationDate    = DateTime.Now;
                objTosaveOpdMaster.RegistrationMode    = "Visit";
                objTosaveOpdMaster.RegistrationSource  = "Opd";
                ent.OpdMasters.Add(objTosaveOpdMaster);
                //OpdpatientDoctorDetails

                foreach (var item in model.OpdDoctorList)
                {
                    model.OpdPatientDoctorDetailsModel = new OpdPatientDoctorDetailsModel();
                    var objTosaveOpdDoctorList = AutoMapper.Mapper.Map <OpdPatientDoctorDetailsModel, OpdPatientDoctorDetail>(model.OpdPatientDoctorDetailsModel);
                    objTosaveOpdDoctorList.DoctorID         = item.DoctorID;
                    objTosaveOpdDoctorList.DepartmentID     = item.DepartmentID;
                    objTosaveOpdDoctorList.OpdID            = objTosaveOpdMaster.OpdID;
                    objTosaveOpdDoctorList.PreferDate       = item.PreferDate;
                    objTosaveOpdDoctorList.PreferTime       = item.PreferTime;
                    objTosaveOpdDoctorList.RegistrationDate = objTosaveOpdMaster.RegistrationDate;
                    ent.OpdPatientDoctorDetails.Add(objTosaveOpdDoctorList);
                }
                //opdfeedetails
                //var objTosaveFeedetails = AutoMapper.Mapper.Map<OpdFeeDetailsModel, OpdFeeDetails>(model.OpdFeeDetailsModel);
                // decimal? aa = objTosaveFeedetails.DoctorFee;
                //objTosaveFeedetails.OpdID = objTosaveOpdMaster.OpdID;
                //objTosaveFeedetails.FeeDate = objTosaveOpdMaster.RegistrationDate;
                //objTosaveFeedetails.OtherDiscountPercentage = 0;
                //ent.OpdFeeDetails.Add(objTosaveFeedetails);

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

                //Opd master max id
                int?intIdt = ent.OpdMasters.Max(u => (int?)u.OpdID);
                if (intIdt == null)
                {
                    intIdt = 1;
                }
                else
                {
                    intIdt = intIdt + 1;
                }

                var objToSavePatientLogMaster = new PatientLogMaster()
                {
                    //PatientId = ent.OpdMaster.Max(a => a.OpdID+1),
                    PatientId = intIdt.GetValueOrDefault() + 1,

                    RegistrationDate = Convert.ToDateTime(objTosaveOpdMaster.RegistrationDate),
                    DepartmentId     = 13,//medical report
                    Status           = true
                };

                ent.PatientLogMasters.Add(objToSavePatientLogMaster);



                //Patient logmaster max id
                int?intPatientLogID = ent.PatientLogMasters.Max(u => (int?)u.OpdMasterLogId);
                if (intPatientLogID == null)
                {
                    intPatientLogID = 1;
                }
                else
                {
                    intPatientLogID = intPatientLogID + 1;
                }


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

                var objtoInsertLedger = new GL_LedgerMaster()
                {
                    AccountGroupID    = 1,
                    AccountSubGroupID = 1,
                    AccountTypeID     = 1,
                    CreatedBy         = Utility.GetCurrentLoginUserId(),
                    CreatedDate       = DateTime.Now,
                    DepartmentID      = 13,//medical report
                    LedgerName        = LedgerName,
                    //SourceID = ent.OpdMaster.Max(a => a.OpdID+1),
                    SourceID         = intIdt,
                    LedgerSourceType = "Patient",
                    Status           = 1
                };

                ent.GL_LedgerMaster.Add(objtoInsertLedger);


                //LedgerMasterId Max Id
                int?LedgetMasterId = ent.GL_LedgerMaster.Max(u => (int?)u.LedgerMasterID);
                if (LedgetMasterId == null)
                {
                    LedgetMasterId = 1;
                }
                else
                {
                    LedgetMasterId = LedgetMasterId + 1;
                }

                var objToInsertTran = new GL_Transaction()
                {
                    Amount         = model.OpdMedicalDetailModel.Amount,
                    DepartmentID   = 13,//medical report
                    Dr_Cr          = "Cr",
                    LedgerMasterID = objtoInsertLedger.LedgerMasterID,
                    Narration1     = "Medical Charge",
                    //RefNo = ent.OpdMaster.Max(a => a.OpdID+1),
                    RefNo             = intIdt,
                    TransactionDate   = DateTime.Now,
                    TransactionTypeID = 1,

                    FeeTypeId    = 17,
                    PatientLogId = (int)intPatientLogID,
                    CreatedDate  = DateTime.Now,
                    CreatedBy    = HospitalManagementSystem.Utility.GetCurrentLoginUserId(),
                    //VoucherNo = Utility.getMaxVoucherNumber(1, 1)
                };

                ent.GL_Transaction.Add(objToInsertTran);


                var OpdMedicalDetailInsert = new OpdMedicalDetail()
                {
                    OpdMasterId = objTosaveOpdMaster.OpdID,
                    ManPowerId  = model.OpdMedicalDetailModel.ManPowerId,
                    AgentId     = model.OpdMedicalDetailModel.AgentId,
                    PreHolo     = model.OpdMedicalDetailModel.PreHolo,
                    Amount      = model.OpdMedicalDetailModel.Amount,
                    Discount    = model.OpdMedicalDetailModel.Discount,
                    Commission  = model.OpdMedicalDetailModel.Commission,
                    CreatedDate = objTosaveOpdMaster.RegistrationDate,
                    CreatedBy   = objTosaveOpdMaster.CreatedBy,
                    status      = 1
                };
                ent.OpdMedicalDetails.Add(OpdMedicalDetailInsert);

                var objtoSaveCentralizedBilling = new CentralizedBilling()
                {
                    AccountHeadId       = 17,
                    Amount              = model.OpdMedicalDetailModel.Amount,
                    AmountDate          = DateTime.Now,
                    PaymentType         = "Cash",
                    Narration1          = "Fee Details",
                    DepartmentName      = "Opd",
                    SubDepartmentId     = Utility.GetCurrentUserDepartmentId(),
                    BillNumber          = BillNumberStr,
                    LedgerMasterId      = (int)LedgetMasterId,
                    PatientLogId        = (int)intPatientLogID,
                    PatientId           = (int)intIdt,
                    JVStatus            = false,
                    CreatedBy           = Utility.GetCurrentLoginUserId(),
                    CreatedDepartmentId = Utility.GetCurrentUserDepartmentId(),
                    CreatedDate         = DateTime.Now,
                    Remarks             = "Opd Medical Records",
                    PaidOnPaid          = false,
                    Status              = true
                };
                ent.CentralizedBillings.Add(objtoSaveCentralizedBilling);



                //update Bill Number
                SetupHospitalBillNumber billNumber = (from x in ent.SetupHospitalBillNumbers
                                                      where x.DepartmentName == "Opd" && 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);
            }
        }
示例#2
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);
        }