Beispiel #1
0
        public ActionResult GetSurgicalHistoryById([FromBody] int Id)
        {
            APIJsonResult result = new APIJsonResult();

            var userId = User.Claims.SingleOrDefault(x => x.Type == "UserId") != null?User.Claims.SingleOrDefault(x => x.Type == "UserId").Value : null;

            int UserId = 0;

            Int32.TryParse(userId, out UserId);
            if (UserId == 0)
            {
                result.success = false;
                result.Msg.Add("NoUser");
                return(Ok(result));
            }

            result.data = (from a in _PastSurgicalHistory.Where(a => a.UserId == UserId && a.Id == Id)
                           select new
            {
                a.Id,
                a.Name,
                SurgicalDate = PublicFunctions.ConvertToTimestamp(a.SurgicalDate),
                a.UserId,
                Images = (from image in _context.Set <PastSurgicalHistoryImage>().Where(f => f.SurgicalId == a.Id)
                          select new
                {
                    image = Configuration["Doctors:Url"] + "/" + "Upload/SurgicalHistory/" + UserId + "/" + image.Image,
                }).ToList()
            }).FirstOrDefault();

            return(Ok(result));
        }
Beispiel #2
0
        public ActionResult UserProfile()
        {
            var userId = User.Claims.SingleOrDefault(x => x.Type == "UserId") != null?User.Claims.SingleOrDefault(x => x.Type == "UserId").Value : null;

            int UserId = 0;

            Int32.TryParse(userId, out UserId);

            APIJsonResult result = new APIJsonResult();

            result.Access  = true;
            result.success = true;
            var user = _context.Users.Where(x => x.Id == UserId).Include(f => f.fk_UserRoleMap).ThenInclude(g => g.UserRole).ThenInclude(p => p.fk_UserRolePermMap).ThenInclude(h => h.Permission).FirstOrDefault();

            UserProfileModel data = new UserProfileModel()
            {
                Id             = user.Id,
                Address        = user.Address,
                BirthDate      = PublicFunctions.ConvertToTimestamp(user.BirthDate.Value),
                Email          = user.Email,
                Gender         = user.Gender,
                InsuranceNo    = user.InsuranceNo,
                Name           = user.Name,
                PersonalImage  = Configuration["Doctors:Url"] + "/" + "Upload/PersonalImage/" + user.Id + "/" + user.PersonalImage,
                InsuranceImage = Configuration["Doctors:Url"] + "/" + "Upload/InsuranceImage/" + user.Id + "/" + user.InsuranceImage,
                Notes          = user.Notes,
                BloodType      = user.BloodType
            };

            result.data = data;
            return(Ok(result));
        }
Beispiel #3
0
        public static string GenerateToken(string UserId, string UserRole)
        {
            APIJsonResult data = new APIJsonResult();
            //security key
            string securityKey = "this_is_our_supper_long_security_key_for_token_validation_project_2018_09_07$smesk.in";
            //symmetric security key
            var symmetricSecurityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(securityKey));

            //signing credentials
            var signingCredentials = new SigningCredentials(symmetricSecurityKey, SecurityAlgorithms.HmacSha256Signature);

            //add claims
            var claims = new List <Claim>();

            claims.Add(new Claim("UserId", UserId.ToString()));
            claims.Add(new Claim("UserRole", UserRole));


            //create token
            var token = new JwtSecurityToken(
                issuer: "smesk.in",
                audience: "readers",
                expires: DateTime.Now.AddHours(1),
                signingCredentials: signingCredentials
                , claims: claims
                );

            //return token
            //HttpContext.Session.SetString("token", JsonConvert.SerializeObject(token));

            return(new JwtSecurityTokenHandler().WriteToken(token));
        }
Beispiel #4
0
        public ActionResult GetAllPastSurgicalHistory()
        {
            APIJsonResult result = new APIJsonResult();
            var           userId = User.Claims.SingleOrDefault(x => x.Type == "UserId") != null?User.Claims.SingleOrDefault(x => x.Type == "UserId").Value : null;

            int UserId = 0;

            Int32.TryParse(userId, out UserId);
            if (UserId == 0)
            {
                result.success = false;
                result.Msg.Add("NoUser");
                return(Ok(result));
            }
            result.success = true;
            result.Access  = true;

            result.data = (from a in _PastSurgicalHistory.Where(a => a.UserId == UserId)
                           select new
            {
                a.Id,
                a.Name,
                SurgicalDate = PublicFunctions.ConvertToTimestamp(a.SurgicalDate),
            }).ToList();
            //var data = _allergyRepository.GetAllByUserId(UserId);
            //result.data = data;
            return(Ok(result));
        }
        public ActionResult GetAllAllergyByUserId()
        {
            APIJsonResult result = new APIJsonResult();
            var           userId = User.Claims.SingleOrDefault(x => x.Type == "UserId") != null?User.Claims.SingleOrDefault(x => x.Type == "UserId").Value : null;

            int UserId = 0;

            Int32.TryParse(userId, out UserId);
            if (UserId == 0)
            {
                result.success = false;
                result.Msg.Add("NoUser");
                return(Ok(result));
            }
            result.success = true;
            result.Access  = true;
            List <AllergyViewModel> queryAllergy = (from a in _context.Set <Allergy>().ToList()
                                                    select new AllergyViewModel
            {
                Id = a.Id,
                Name = a.Name,
                Selected = _context.Set <MedicationAllergyMap>().Where(s => s.UserId == UserId && s.AllergyId == a.Id).Count() > 0
            }).ToList();

            var data = queryAllergy;

            result.data = data;
            return(Ok(result));
        }
Beispiel #6
0
        public ActionResult TestImage(test model)
        {
            //HttpContext.Session.SetString("TestData", JsonConvert.SerializeObject(model));

            var name = string.Empty;

            if (model.Image != null || model.Image.Length > 0)
            {
                var file = model.Image;

                name = Path.GetFileNameWithoutExtension(model.Image.FileName) + ".jpeg";

                name = @"\Upload\PersonalImage\1\" + name;

                var CoverImagetPath = _paths._insuranceImage + @"\Upload\PersonalImage\1";
                if (!Directory.Exists(CoverImagetPath))
                {
                    Directory.CreateDirectory(CoverImagetPath);
                }

                file.CopyTo(new FileStream(CoverImagetPath + name, FileMode.Create));
            }
            APIJsonResult result = new APIJsonResult();

            result.Access  = true;
            result.success = true;
            result.data    = Configuration["Doctors:Url"] + name;
            return(Ok(result));
        }
Beispiel #7
0
        public ActionResult DoctorList(PagingModel paging)
        {
            APIJsonResult result = new APIJsonResult();

            result.Access     = true;
            result.success    = true;
            paging.PageNumber = paging.PageNumber == 0 ? 0 : paging.PageNumber;
            paging.Count      = paging.Count == 0 ? 100 : paging.Count;
            var data = (from a in _user.Where(x => x.fk_UserRoleMap.FirstOrDefault().UserRoleId == 7)
                        select new
            {
                Id = a.Id,
                Name = a.Name,
                PersonalImage = Configuration["Doctors:Url"] + "/" + "Upload/PersonalImage/" + a.Id + "/" + a.PersonalImage,
                Email = a.Email,
                Mobile = a.Mobile,
                Address = a.Address,
                Notes = a.Notes,
                BirthDate = PublicFunctions.ConvertToTimestamp(Convert.ToDateTime(a.BirthDate)),
            }
                        ).Skip((paging.PageNumber * paging.Count)).Take(paging.Count).ToList();

            result.data = data;
            return(Ok(result));
        }
Beispiel #8
0
        public APIJsonResult Failed(string message)
        {
            var jsonResult = new APIJsonResult();

            jsonResult.Data = new ResponseResult(ResponseResultStatus.FAILED, message);
            jsonResult.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
            return(jsonResult);
        }
Beispiel #9
0
        public APIJsonResult Success(string message, object data)
        {
            var jsonResult = new APIJsonResult();

            jsonResult.Data = new ResponseResult(ResponseResultStatus.SUCCESS, message, data);
            jsonResult.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
            return(jsonResult);
        }
Beispiel #10
0
        public ActionResult PatientMedicationAddOrEdit([FromBody] PatientMedicationModel model)
        {
            APIJsonResult result = new APIJsonResult();

            result.Access  = true;
            result.success = true;
            if (model == null)
            {
                result.success = false;
                result.Msg.Add("Model is NULL");
                return(Ok(result));
            }
            var currentUserToken = User.Claims.SingleOrDefault(x => x.Type == "UserRole") != null?User.Claims.SingleOrDefault(x => x.Type == "UserRole").Value : null;

            if (currentUserToken == null)
            {
                result.Msg.Add("Session Time Out");
                result.success = false;
                return(Ok(result));
            }
            if (model.Id == 0)
            {
                Medication m = new Medication()
                {
                    AfternoonCount = model.Afternoon,
                    Doctors        = model.DoctorName,
                    MorningCount   = model.Morning,
                    PharmacyName   = model.PharmacyName,
                    MedicationId   = model.Medication,
                    Sideeffect     = model.Sideeffect,
                    UserId         = Convert.ToInt32(User.Claims.SingleOrDefault(x => x.Type == "UserId") != null ? User.Claims.SingleOrDefault(x => x.Type == "UserId").Value : null)
                };
                m.Days = string.Join(",", model.SelectedIds);
                _medication.Add(m);
                _context.SaveChanges();
            }
            else
            {
                var patientMedication = _medication.Where(x => x.Id == model.Id).FirstOrDefault();
                if (patientMedication == null)
                {
                    result.Msg.Add("Not found");
                    result.success = false;
                    return(Ok(result));
                }
                patientMedication.MorningCount = model.Morning;
                patientMedication.MedicationId = model.Medication;
                patientMedication.PharmacyName = model.PharmacyName;
                patientMedication.Sideeffect   = model.Sideeffect;
                patientMedication.UserId       = Convert.ToInt32(User.Claims.SingleOrDefault(x => x.Type == "UserId") != null ? User.Claims.SingleOrDefault(x => x.Type == "UserId").Value : null);
                patientMedication.Days         = string.Join(",", model.SelectedIds);
                _medication.Update(patientMedication);
                _context.SaveChanges();
            }

            return(Ok(result));
        }
        public IActionResult ScheduleAppointmentAddOrEdit([FromBody] ScheduleAppointmentModel model)
        {
            APIJsonResult result = new APIJsonResult();

            result.Access  = true;
            result.success = true;
            var currentUserToken = User.Claims.SingleOrDefault(x => x.Type == "UserRole") != null?User.Claims.SingleOrDefault(x => x.Type == "UserRole").Value : null;

            if (currentUserToken == null)
            {
                result.Msg.Add("Session Time Out");
                result.success = false;
                result.Access  = true;
                return(Ok(result));
            }
            if (model == null)
            {
                result.Msg.Add("Model Null");
                result.success = false;
                result.Access  = true;
                return(Ok(result));
            }

            if (model.Id == 0)
            {
                ScheduleAppointment scheduleAppointment = new ScheduleAppointment()
                {
                    Notes       = model.Notes,
                    UserId      = Convert.ToInt32(User.Claims.SingleOrDefault(x => x.Type == "UserId") != null ? User.Claims.SingleOrDefault(x => x.Type == "UserId").Value : null),
                    VisitType   = model.VisitType,
                    Appointment = PublicFunctions.ConvertTimestampToDateTime(model.Appointment),
                    DoctorId    = model.DoctorId,
                    Status      = 1,
                };
                _scheduleAppointment.Add(scheduleAppointment);
                _context.SaveChanges();
            }
            else
            {
                var scheduleAppointment = _scheduleAppointment.Where(x => x.Id == model.Id).FirstOrDefault();
                if (scheduleAppointment == null)
                {
                    result.Msg.Add("Not found");
                    result.success = false;
                    result.Access  = true;
                    return(Ok(result));
                }
                scheduleAppointment.Notes       = model.Notes;
                scheduleAppointment.VisitType   = model.VisitType;
                scheduleAppointment.Appointment = PublicFunctions.ConvertTimestampToDateTime(model.Appointment);
                scheduleAppointment.DoctorId    = model.DoctorId;
                _scheduleAppointment.Update(scheduleAppointment);
                _context.SaveChanges();
            }
            return(Ok(result));
        }
Beispiel #12
0
        public CustomError(string message)
        {
            APIJsonResult data = new APIJsonResult();

            data.Access  = false;
            data.success = false;
            data.Msg.Add("SessionTimeOut");
            data.data = null;
            Error     = message;
        }
Beispiel #13
0
        public ActionResult Days()
        {
            APIJsonResult result = new APIJsonResult();

            result.Access  = true;
            result.success = true;
            var data = _days.ToList();

            result.data = data;
            return(Ok(result));
        }
Beispiel #14
0
        public ActionResult GetAllBloodType()
        {
            //HttpContext.Session.SetString("TestData", JsonConvert.SerializeObject(model));

            BloodTypeViewModel model  = new BloodTypeViewModel();
            APIJsonResult      result = new APIJsonResult();

            result.Access  = true;
            result.success = true;
            result.data    = _bloodType.ToList();;
            return(Ok(result));
        }
Beispiel #15
0
        public ActionResult MedicinesList(PagingModel paging)
        {
            APIJsonResult result = new APIJsonResult();

            result.Access     = true;
            result.success    = true;
            paging.PageNumber = paging.PageNumber == 0 ? 0 : paging.PageNumber;
            paging.Count      = paging.Count == 0 ? 100 : paging.Count;
            var data = _medicinesLookUp.ToList().Skip((paging.PageNumber * paging.Count)).Take(paging.Count).ToList();

            result.data = data;
            return(Ok(result));
        }
Beispiel #16
0
        public async Task OnAuthorizationAsync(AuthorizationFilterContext context)
        {
            string[] allowController = new string[] { "Auth", "Listening", "PublicApi", "ShowsApi", "OrderApi", "LookUps", "PatientMedicationAPI" };

            string controllerName = context.RouteData.Values["controller"].ToString();

            if (allowController.Contains(controllerName))
            {
                return;
            }

            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            // Allow Anonymous skips all authorization
            if (context.Filters.Any(item => item is IAllowAnonymousFilter))
            {
                return;
            }

            var policyEvaluator    = context.HttpContext.RequestServices.GetRequiredService <IPolicyEvaluator>();
            var authenticateResult = await policyEvaluator.AuthenticateAsync(Policy, context.HttpContext);

            var authorizeResult = await policyEvaluator.AuthorizeAsync(Policy, authenticateResult, context.HttpContext, context);

            if (authorizeResult.Challenged)
            {
                // Return custom 401 result
                APIJsonResult data = new APIJsonResult
                {
                    Access  = false,
                    success = false,
                    Msg     = new List <string> {
                        "SessionTimeOut"
                    },
                    url   = "/Home/Index",
                    data  = null,
                    token = string.Empty
                };
                context.Result = new JsonResult(data);
                //new CustomUnauthorizedResult("Authorization failed.");
            }
            else if (authorizeResult.Forbidden)
            {
                // Return default 403 result
                context.Result = new ForbidResult(Policy.AuthenticationSchemes.ToArray());
            }
        }
Beispiel #17
0
        public ActionResult Policy()
        {
            //HttpContext.Session.SetString("TestData", JsonConvert.SerializeObject(model));

            PolicyApiModel model  = new PolicyApiModel();
            APIJsonResult  result = new APIJsonResult();


            model.Description = AcceptLanguage == "ar"
                ? _context.SystemSettings.Where(x => x.Name == "PrivacyPolicyDescriptionAr").FirstOrDefault().Value
                : _context.SystemSettings.Where(x => x.Name == "PrivacyPolicyDescriptionEn").FirstOrDefault().Value;
            result.Access  = true;
            result.success = true;
            result.data    = model;
            return(Ok(result));
        }
        public ActionResult SaveAllergyByUserId([FromBody] List <int> AllergyListIds)
        {
            APIJsonResult result = new APIJsonResult();
            //if (AllergyListIds.Count() < 1)
            //{
            //    result.success = false;
            //    result.Msg.Add("PatientAllergyEmpty");
            //    return Ok(result);
            //}
            var userId = User.Claims.SingleOrDefault(x => x.Type == "UserId") != null?User.Claims.SingleOrDefault(x => x.Type == "UserId").Value : null;

            int UserId = 0;

            Int32.TryParse(userId, out UserId);
            if (UserId == 0)
            {
                result.success = false;
                result.Msg.Add("NoUser");
                return(Ok(result));
            }
            result.success = true;
            result.Access  = true;

            _medicationAllergyMap.Where(a => a.UserId == UserId).ToList().ForEach(a =>
            {
                _medicationAllergyMap.Remove(a);
                _context.SaveChanges();
            });
            if (AllergyListIds != null)
            {
                AllergyListIds.ForEach(a =>
                {
                    MedicationAllergyMap model = new MedicationAllergyMap();
                    model.UserId    = UserId;
                    model.AllergyId = a;
                    _medicationAllergyMap.Add(model);
                    _context.SaveChanges();
                });
            }

            //_allergyRepository.SaveAllaergytList(UserId, AllergyListIds);
            return(Ok(result));
        }
Beispiel #19
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            string authHeader = filterContext.HttpContext.Request.Headers["Authorization"];

            if (string.IsNullOrEmpty(authHeader) || !authHeader.StartsWith("Bearer"))
            {
                APIJsonResult dataController = new APIJsonResult
                {
                    Access  = false,
                    success = false,
                    Msg     = new List <string> {
                        "SessionTimeOut"
                    },
                    url   = "/Home/Index",
                    token = string.Empty
                };
                filterContext.Result = new JsonResult(new { dataController });
            }
        }
Beispiel #20
0
        public IActionResult PatientMedicationList()
        {
            APIJsonResult result = new APIJsonResult();

            result.Access  = true;
            result.success = true;
            var currentUserToken = User.Claims.SingleOrDefault(x => x.Type == "UserRole") != null?User.Claims.SingleOrDefault(x => x.Type == "UserRole").Value : null;

            if (currentUserToken == null)
            {
                result.Msg.Add("Session Time Out");
                result.success = false;
                return(Ok(result));
            }
            int userId = Convert.ToInt32(User.Claims.SingleOrDefault(x => x.Type == "UserId") != null ? User.Claims.SingleOrDefault(x => x.Type == "UserId").Value : null);
            List <PatientMedicationListModel> list = new List <PatientMedicationListModel>();

            _medication.Where(x => x.UserId == userId).ToList().ForEach(x => {
                var ids           = x.Days.Split(',').Select(Int32.Parse).ToList();
                StringBuilder str = new StringBuilder();
                ids.ForEach(v => {
                    var day = _days.Where(id => id.Id == v).FirstOrDefault();
                    if (day != null)
                    {
                        str.Append(day.Name + "-");
                    }
                });
                string daysList = str.ToString();

                PatientMedicationListModel model = new PatientMedicationListModel()
                {
                    Days      = daysList,
                    Doctor    = x.Doctors,
                    Medicines = x.Doctors,
                    Id        = x.Id
                };
                list.Add(model);
            });
            result.data = list;
            return(Ok(result));
        }
Beispiel #21
0
        public ActionResult LogOut(Devices devices)
        {
            APIJsonResult result = new APIJsonResult();

            result.Access  = true;
            result.success = true;
            result.data    = new UserProfile()
            {
                Email = "", Id = -1, Mobile = "", Name = ""
            };

            var currentUserToken = User.Claims.SingleOrDefault(x => x.Type == "UserRole") != null
            ? User.Claims.SingleOrDefault(x => x.Type == "UserRole").Value : null;


            var gustUserDevice = _gustUserDevice.Where(x => x.DeviceId == devices.deviceId).FirstOrDefault();

            if (gustUserDevice == null)
            {
                _gustUserDevice.Add(new GustUserDevice()
                {
                    DeviceId    = devices.deviceId,
                    JwtToken    = result.token = Token.GenerateToken(devices.deviceId, currentUserToken),
                    CreatedDate = DateTime.Now,
                });
                _context.SaveChanges();
            }
            else
            {
                gustUserDevice.UpdatedDate = DateTime.Now;
                gustUserDevice.JwtToken    = result.token = Token.GenerateToken(devices.deviceId, currentUserToken);
                _gustUserDevice.Update(gustUserDevice);
                _context.SaveChanges();
            }

            return(Ok(result));
        }
Beispiel #22
0
        public IActionResult PatientMedicationGet(int Id)
        {
            APIJsonResult result = new APIJsonResult();

            result.Access  = true;
            result.success = true;
            var currentUserToken = User.Claims.SingleOrDefault(x => x.Type == "UserRole") != null?User.Claims.SingleOrDefault(x => x.Type == "UserRole").Value : null;

            if (currentUserToken == null)
            {
                result.Msg.Add("Session Time Out");
                result.success = false;
                return(Ok(result));
            }
            if (Id == 0)
            {
                result.Msg.Add("Not found");
                result.success = false;
                return(Ok(result));
            }
            var medication = _medication.Where(x => x.Id == Id).FirstOrDefault();
            PatientMedicationModel model = new PatientMedicationModel()
            {
                Id           = medication.Id,
                Afternoon    = medication.AfternoonCount,
                DoctorName   = medication.Doctors,
                Morning      = medication.MorningCount,
                SelectedIds  = medication.Days.Split(',').Select(Int32.Parse).ToList(),
                PharmacyName = medication.PharmacyName,
                Sideeffect   = medication.Sideeffect,
                Medication   = (medication.MedicationId)
            };

            result.data = model;
            return(Ok(result));
        }
Beispiel #23
0
        public ActionResult UpdateSurgicalHistory(SurgicalHistoryViewModel model)
        {
            var userId = User.Claims.SingleOrDefault(x => x.Type == "UserId") != null?User.Claims.SingleOrDefault(x => x.Type == "UserId").Value : null;

            int UserId = 0;

            Int32.TryParse(userId, out UserId);
            //new ExceptionLog().WriteException(JsonConvert.SerializeObject(model).ToString());
            APIJsonResult result = new APIJsonResult();

            result.Access = true;
            if (UserId == 0 || model == null)
            {
                result.success = false;
                result.Msg.Add("NoUser");
                return(Ok(result));
            }
            try
            {
                if (model.Id < 1)
                {
                    //add mode
                    PastSurgicalHistory entity = new PastSurgicalHistory();
                    entity.Name         = model.Name;
                    entity.SurgicalDate = PublicFunctions.ConvertTimestampToDateTime(model.SurgicalDate);
                    entity.UserId       = UserId;
                    entity.CreatedBy    = UserId;
                    entity.CreatedDate  = DateTime.Now;
                    _PastSurgicalHistory.Add(entity);
                    _context.SaveChanges();
                    if (model.Images != null && model.Images.Count() > 0)
                    {
                        model.Images.ToList().ForEach(a =>
                        {
                            var CoverImagetPath = _paths.SurgicalHistoryImages + UserId + @"\";
                            if (!Directory.Exists(CoverImagetPath))
                            {
                                Directory.CreateDirectory(CoverImagetPath);
                            }
                            using (var fileStream = new FileStream(CoverImagetPath + a.FileName, FileMode.Create))
                            {
                                a.CopyTo(fileStream);
                            }
                            PastSurgicalHistoryImage images = new PastSurgicalHistoryImage();
                            images.Image      = a.FileName;
                            images.SurgicalId = entity.Id;
                            _PastSurgicalHistoryImage.Add(images);
                            _context.SaveChanges();
                        });
                    }
                }
                else
                {
                    PastSurgicalHistory entity = _PastSurgicalHistory.Where(a => a.Id == model.Id).FirstOrDefault();
                    entity.Name         = model.Name;
                    entity.SurgicalDate = PublicFunctions.ConvertTimestampToDateTime(model.SurgicalDate);
                    entity.UpdateBy     = UserId;
                    entity.UserId       = UserId;
                    entity.UpdateDate   = DateTime.Now;
                    _PastSurgicalHistory.Update(entity);
                    _context.SaveChanges();

                    //Delete the Images
                    var oldImages = _PastSurgicalHistoryImage.Where(a => a.SurgicalId == model.Id).ToList();
                    if (oldImages != null && oldImages.Count() > 0)
                    {
                        oldImages.ForEach(a =>
                        {
                            _PastSurgicalHistoryImage.Remove(a);
                            _context.SaveChanges();
                        });
                    }
                    //Add new Images
                    if (model.Images != null && model.Images.Count() > 0)
                    {
                        model.Images.ToList().ForEach(a =>
                        {
                            var CoverImagetPath = _paths.SurgicalHistoryImages + UserId + "/";
                            if (!Directory.Exists(CoverImagetPath))
                            {
                                Directory.CreateDirectory(CoverImagetPath);
                            }
                            using (var fileStream = new FileStream(CoverImagetPath + a.FileName, FileMode.Create))
                            {
                                a.CopyToAsync(fileStream);
                            }
                            PastSurgicalHistoryImage images = new PastSurgicalHistoryImage();
                            images.Image      = a.FileName;
                            images.SurgicalId = entity.Id;
                            _PastSurgicalHistoryImage.Add(images);
                            _context.SaveChanges();
                        });
                    }
                }
            }
            catch (Exception e)
            {
                result.data = e.Message;
            }

            return(Ok(result));
        }
Beispiel #24
0
        public ActionResult RegisterUser(UserRegisterApi userRegister)
        {
            _localizer.HeaderLanguage = AcceptLanguage;
            APIJsonResult result   = new APIJsonResult();
            UserProfile   userDate = new UserProfile();

            result.Access = true;

            if (string.IsNullOrEmpty(userRegister.Email) || string.IsNullOrEmpty(userRegister.Name) ||
                string.IsNullOrEmpty(userRegister.Mobile))
            {
                result.success = false;
                result.Msg.Add("Admin.All fields must be filled");
                result.data = new APILoginView();
                return(Ok(result));
            }
            //#region Validate Phone Number
            //Regex pattern = new Regex(RegexStrings.MobileRegex);
            //if (!pattern.IsMatch(userRegister.Mobile))
            //{
            //    result.success = false;
            //    result.Msg.Add(_localizer.GetString("Admin.Invalid Mobile number"));
            //    result.data = null;
            //    return Ok(result);
            //}
            //#endregion
            #region Validate Email
            Regex emailPattern = new Regex(RegexStrings.EmailRegex);
            if (!emailPattern.IsMatch(userRegister.Email))
            {
                result.success = false;
                result.Msg.Add(_localizer.GetString("Admin.Invalid Email Address "));
                result.data = null;
                return(Ok(result));
            }
            #endregion
            result.success = false;
            var user      = new User();
            var Existuser = _context.Users.Where(x => x.Email == userRegister.Email && x.IsDeleted != true).Include(f => f.fk_UserRoleMap).ThenInclude(g => g.UserRole).ThenInclude(p => p.fk_UserRolePermMap).ThenInclude(h => h.Permission).FirstOrDefault();
            if (Existuser == null)
            {
                using (var algorithm = MD5.Create()) //or MD5 SHA256 etc.
                {
                    var hashedBytes = algorithm.ComputeHash(Encoding.UTF8.GetBytes(userRegister.Password));

                    userRegister.Password = BitConverter.ToString(hashedBytes).Replace("-", "").ToLower();
                }
                using (var algorithm = MD5.Create()) //or MD5 SHA256 etc.
                {
                    var hashedBytes = algorithm.ComputeHash(Encoding.UTF8.GetBytes(userRegister.ConfirmPassword));

                    userRegister.ConfirmPassword = BitConverter.ToString(hashedBytes).Replace("-", "").ToLower();
                }

                if (userRegister.Password.Equals(userRegister.ConfirmPassword))
                {
                    user = new User()
                    {
                        Email       = userRegister.Email,
                        Mobile      = userRegister.Mobile,
                        Name        = userRegister.Name,
                        Password    = userRegister.Password,
                        Activation  = true,
                        Address     = userRegister.Address,
                        BirthDate   = PublicFunctions.ConvertTimestampToDateTime(userRegister.BirthDate),
                        BloodType   = userRegister.BloodType,
                        InsuranceNo = userRegister.InsuranceNo,
                        //InsuranceImage = userRegister.InsuranceImage

                        //JwtToken = result.token = Token.GenerateToken(user.Id.ToString()),
                    };
                    //user.Activation = false;
                    _context.Users.Add(user);
                    _context.SaveChanges();
                    user.fk_UserRoleMap.Add(new UserRoleMap()
                    {
                        UserId     = user.Id,
                        User       = user,
                        UserRoleId = 9,
                        UserRole   = _context.UserRoles.Where(x => x.Id == 9).FirstOrDefault()
                    });
                    if (userRegister.InsuranceImage != null || userRegister.InsuranceImage.Length > 0)
                    {
                        var file = userRegister.InsuranceImage;

                        //string uploadedCoverImage64 = PublicFunctions.ConvertTo64Bit(userRegister.InsuranceImage);
                        user.InsuranceImage = userRegister.InsuranceImage.FileName;

                        //user.InsuranceImage = @"\Upload\InsuranceImage\" + user.Id + @"\" + user.InsuranceImage;

                        var CoverImagetPath = _paths._insuranceImage + @"\Upload\InsuranceImage\" + user.Id + "/";
                        if (!Directory.Exists(CoverImagetPath))
                        {
                            Directory.CreateDirectory(CoverImagetPath);
                        }
                        using (var fileStream = new FileStream(CoverImagetPath + userRegister.InsuranceImage.FileName, FileMode.Create))
                        {
                            userRegister.InsuranceImage.CopyTo(fileStream);
                        }
                        //file.CopyToAsync(new FileStream(CoverImagetPath + user.InsuranceImage, FileMode.Create));
                    }
                    if (userRegister.PersonalImage != null || userRegister.PersonalImage.Length > 0)
                    {
                        var file = userRegister.InsuranceImage;

                        //string uploadedCoverImage64 = PublicFunctions.ConvertTo64Bit(userRegister.PersonalImage);
                        user.PersonalImage = userRegister.PersonalImage.FileName;

                        //user.PersonalImage = @"\Upload\PersonalImage\" + user.Id + @"\" + user.PersonalImage;

                        var CoverImagetPath = _paths._insuranceImage + @"\Upload\PersonalImage\" + user.Id + "/";
                        if (!Directory.Exists(CoverImagetPath))
                        {
                            Directory.CreateDirectory(CoverImagetPath);
                        }
                        using (var fileStream = new FileStream(CoverImagetPath + userRegister.PersonalImage.FileName, FileMode.Create))
                        {
                            userRegister.PersonalImage.CopyTo(fileStream);
                        }
                        //file.CopyToAsync(new FileStream(CoverImagetPath + user.InsuranceImage, FileMode.Create));
                    }
                    _context.Users.Update(user);
                    _context.SaveChanges();
                    userDate.Id     = user.Id;
                    userDate.Email  = user.Email;
                    userDate.Mobile = user.Mobile;
                    userDate.Name   = user.Name;
                    // result.Msg.Add("Admin.Wait for activation from Admin");
                    result.Msg.Add("Admin.Successfully Registeration ");
                }
                else
                {
                    result.success = false;
                    result.Msg.Add("Admin.User Password Not Match");
                    result.data = new APILoginView();
                    return(Ok(result));
                }
            }
            else
            {
                result.success = false;
                result.Msg.Add("Admin.duplicate email address");
                result.data = new APILoginView();
                return(Ok(result));
            }
            result.success = true;
            result.data    = userDate;
            return(Ok(result));
        }
Beispiel #25
0
        public ActionResult UserLogIn([FromBody] APILogin logInUser)
        {
            APIJsonResult result        = new APIJsonResult();
            APILoginView  _aPILoginView = new APILoginView();

            result.data    = _aPILoginView;
            result.Access  = true;
            result.success = false;

            var currentUserToken = User.Claims.SingleOrDefault(x => x.Type == "UserId") != null?User.Claims.SingleOrDefault(x => x.Type == "UserId").Value : null;

            var UserRole = User.Claims.SingleOrDefault(x => x.Type == "UserRole") != null?User.Claims.SingleOrDefault(x => x.Type == "UserRole").Value : null;


            //if (currentUserToken == null)
            //{
            //    result.Msg.Add(_localizer.GetString("web.Session Time Out"));
            //    result.success = false;
            //    return Ok(result);

            //}
            //int fildLogIn = Convert.ToInt32(_context.SystemSettings.Where(x => x.Name == "FildLogInNumber").FirstOrDefault().Value);

            if (User == null)
            {
                result.success = false;
                result.Msg.Add(_localizer.GetString("All fields must be filled"));
                return(Ok(result));
            }
            else if (string.IsNullOrEmpty(logInUser.Email) || string.IsNullOrEmpty(logInUser.Password))
            {
                result.success = false;
                result.Msg.Add(_localizer.GetString("All fields must be filled"));
                return(Ok(result));
            }
            using (var algorithm = MD5.Create()) //or MD5 SHA256 etc.
            {
                var hashedBytes = algorithm.ComputeHash(Encoding.UTF8.GetBytes(logInUser.Password));

                logInUser.Password = BitConverter.ToString(hashedBytes).Replace("-", "").ToLower();
            }
            var user = _context.Users.Where(x => x.Email == logInUser.Email && x.IsDeleted != true && x.Password == logInUser.Password).Include(f => f.fk_UserRoleMap).ThenInclude(g => g.UserRole).ThenInclude(p => p.fk_UserRolePermMap).ThenInclude(h => h.Permission).FirstOrDefault();

            if (user == null)
            {
                result.success = false;
                result.Msg.Add(_localizer.GetString("InCorrect Credential"));
                //result.Msg.Add(_localizer.GetString("Email") + logInUser.Email);
                //result.Msg.Add(_localizer.GetString("Password") + logInUser.Password);
                return(Ok(result));
            }
            //if (user.FildLogIn == fildLogIn)
            //{
            //    user.Activation = false;
            //    _context.Update(user);
            //    _context.SaveChanges();
            //    result.Msg.Add("Admin.YourAccountHasBeenBlocked");
            //    return Ok(result);
            //}
            if (user.Password == logInUser.Password)
            {
                user.FildLogIn = 0;
                if (user.JwtToken != null)
                {
                    user.JwtToken          = result.token = Token.GenerateToken(user.Id.ToString(), user.fk_UserRoleMap[0].UserRole.Name);
                    user.UdateDateFCMToken = DateTime.Now;
                }
                else
                {
                    user.JwtToken           = result.token = Token.GenerateToken(user.Id.ToString(), user.fk_UserRoleMap[0].UserRole.Name);
                    user.CreateDateJwtToken = DateTime.Now;
                }

                if (currentUserToken != null)
                {
                    var gustUser = _gustUserDevice.Where(x => x.DeviceId == currentUserToken).FirstOrDefault();
                    if (gustUser != null)
                    {
                        _gustUserDevice.Remove(gustUser);
                    }
                }
                _context.Update(user);
                _context.SaveChanges();
            }
            else
            {
                user.FildLogIn = user.FildLogIn == null ? 1 : user.FildLogIn + 1;
                // User Type
                _context.Update(user);
                _context.SaveChanges();

                result.Msg.Add(_localizer.GetString("Admin.Your Password Incorrect Number of  attempts to log in -") + (user.FildLogIn) + " -");
                return(Ok(result));
            }
            result.success = true;
            UserProfile userData = new UserProfile()
            {
                Id       = user.Id,
                Email    = user.Email,
                Name     = user.Name,
                Mobile   = user.Mobile,
                UserType = user.fk_UserRoleMap[0].UserRole.Name
            };

            result.data = userData;
            result.Msg.Add(_localizer.GetString("Admin.Successfully logged In"));
            return(Ok(result));
        }