예제 #1
0
        public static OpdFormMetaReaponseModel GetMetaData(OpdFormMetaRequestModel requestModel)
        {
            using (var dbcontext = new HMSEntities())
            {
                var  allForms  = dbcontext.OPDs.ToList();
                var  ruleDate  = DateTime.Now.Date;
                var  patientNo = requestModel.PatientNo?.Trim();
                var  visitNo   = 0;
                var  dailyNo   = 0;
                long serialNo  = 0;

                AppOpd existedform = new AppOpd();
                if (allForms.Any())
                {
                    dailyNo =
                        dbcontext.OPDs.Count(
                            form =>
                            EntityFunctions.TruncateTime(form.DateTime) == ruleDate &&
                            form.DoctorId == requestModel.DoctorId);

                    serialNo = allForms.Count;

                    if (string.IsNullOrEmpty(patientNo))
                    {
                        patientNo = DateTime.Now.Year + "" + DateTime.Now.Month + "-" + DateTime.Now.Day +
                                    (dbcontext.OPDs.Count(form => EntityFunctions.TruncateTime(form.DateTime) == ruleDate) + 1) + "";
                    }
                    else
                    {
                        visitNo = allForms.Count(form => form.PatientNo == patientNo);
                        var tempoForm = allForms.FirstOrDefault(form => form.PatientNo == patientNo);
                        if (tempoForm != null)
                        {
                            existedform = tempoForm.MaptoOpd();
                        }
                    }
                    return(new OpdFormMetaReaponseModel
                    {
                        DateTime = DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString(),
                        DailyNo = ++dailyNo,
                        PatientNo = patientNo,
                        VisitNo = ++visitNo,
                        SerialNo = ++serialNo,
                        OpdForm = existedform
                    });
                }
            }
            return(new OpdFormMetaReaponseModel
            {
                DateTime = DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString(),
                DailyNo = 1,
                PatientNo = 1 + "",
                VisitNo = 1,
                SerialNo = 1,
                OpdForm = null
            });
        }
예제 #2
0
        public JsonResult CreateForm(AppOpd request)
        {
            var slip = OpdService.CreateUPdateNewForm(request);

            return(Json(slip, JsonRequestBehavior.AllowGet));
        }
예제 #3
0
        public static AppOpd CreateUPdateNewForm(AppOpd source)
        {
            using (var dbcontext = new HMSEntities())
            {
                //dicount check

                if (source.Discount != null && source.Discount > 0)
                {
                    var doc = dbcontext.AspNetUsers.FirstOrDefault(docobj => docobj.Id == source.DoctorId);
                    if (doc != null && source.Discount > doc.Fee)
                    {
                        return(null);
                    }
                }

                if (source.Mode == "cusinfo")
                {
                    var patient = dbcontext.OPDs.FirstOrDefault(form => form.Id == source.Id);
                    var allrecs = dbcontext.OPDs.Where(o => o.PatientNo == patient.PatientNo).ToList();
                    if (allrecs.Any())
                    {
                        foreach (var dbOb in allrecs)
                        {
                            dbOb.Name          = source.Name;
                            dbOb.GuardianName  = source.GuardianName;
                            dbOb.Age           = source.Age;
                            dbOb.Gender        = source.Gender;
                            dbOb.CNIC          = source.CNIC;
                            dbOb.Address       = source.Address;
                            dbOb.Phone         = source.Phone;
                            dbOb.MartialStatus = source.MartialStatus;
                            dbOb.Discount      = source.Discount;
                            dbOb.DiscountBy    = source.DiscountBy;
                            dbOb.InsuranceNo   = source.InsuranceNo;
                            dbcontext.OPDs.AddOrUpdate(dbOb);
                        }
                        dbcontext.SaveChanges();
                        return(GetOpdById(source.Id.ToString()));
                    }
                }


                var dbObj = dbcontext.OPDs.FirstOrDefault(form => form.Id == source.Id);
                if (dbObj == null)
                {
                    dbObj = new OPD
                    {
                        DateTime      = DateTime.Now,
                        Name          = source.Name,
                        DailyNo       = source.DailyNo,
                        PatientNo     = source.PatientNo,
                        VisitNo       = source.VisitNo,
                        MartialStatus = source.MartialStatus,
                        Address       = source.Address,
                        Age           = source.Age,
                        CNIC          = source.CNIC,
                        DoctorId      = source.DoctorId,
                        Gender        = source.Gender,
                        GuardianName  = source.GuardianName,
                        Phone         = source.Phone,
                        Status        = true,
                        InsuranceNo   = source.InsuranceNo,
                        Discount      = source.Discount,
                        DiscountBy    = source.DiscountBy
                    };
                    dbcontext.OPDs.Add(dbObj);
                    dbcontext.SaveChanges();
                    return(GetOpdById(dbObj.Id.ToString()));
                }
                else
                {
                    if (source.Mode == "edit")
                    {
                        dbObj.DoctorId      = source.DoctorId;
                        dbObj.Name          = source.Name;
                        dbObj.GuardianName  = source.GuardianName;
                        dbObj.Age           = source.Age;
                        dbObj.Gender        = source.Gender;
                        dbObj.CNIC          = source.CNIC;
                        dbObj.Address       = source.Address;
                        dbObj.Phone         = source.Phone;
                        dbObj.MartialStatus = source.MartialStatus;
                        dbObj.Discount      = source.Discount;
                        dbObj.DiscountBy    = source.DiscountBy;
                        dbObj.InsuranceNo   = source.InsuranceNo;

                        dbcontext.OPDs.AddOrUpdate(dbObj);
                        dbcontext.SaveChanges();
                    }

                    return(GetOpdById(dbObj.Id.ToString()));
                }
            }
            return(null);
        }