Esempio n. 1
0
        /// <summary>
        /// اعتبارسنجی کاربر یا پرسنل
        /// </summary>
        /// <returns>شناسه کاربر اهراز شده و نوع آن</returns>
        protected Tuple <int, MFValidationUserRole> validateUserOrPersonel()
        {
            int id = 0;

            try { id = int.Parse(Request.Headers.GetValues("UserId").FirstOrDefault()); }
            catch
            {
                throw F_ExeptionFactory.MakeExeption("کاربر مورد نظر در سیستم وجود ندارد",
                                                     ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "UserId", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }
            string unicKey = "";

            try { unicKey = Request.Headers.GetValues("UnicKey").FirstOrDefault(); }
            catch
            {
                throw F_ExeptionFactory.MakeExeption("کاربر مورد نظر در سیستم وجود ندارد",
                                                     ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "UserId", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }

            var user = new B_Users().GetUsers(id);

            if (user != null && user.UnicKey == unicKey)
            {
                return(Tuple.Create(id, MFValidationUserRole.USER));
            }
            var personel = new B_Personels().GetPersonels(unicKey, id);

            if (personel != null)
            {
                return(Tuple.Create(id, MFValidationUserRole.PERSONEL));
            }
            throw F_ExeptionFactory.MakeExeption("کاربر مورد نظر در سیستم وجود ندارد",
                                                 ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "UserId", Enums.Loging.E_LogType.SYSTEM_ERROR);
        }
Esempio n. 2
0
        public ActionResult SendActivationCode(int Id)
        {
            object result = "";

            try
            {
                B_SmsAuthorise bSms = new B_SmsAuthorise();
                var            sms  = bSms.GetSmsDetails(Id);
                if (sms != null)
                {
                    var code = new B_SmsAuthorise().AddCode(sms.PhoneNumber);
                    new ApplicationHelper.Sms().SendSms(sms.PhoneNumber, code.ToString());
                    result = "Success";
                }
                else
                {
                    throw F_ExeptionFactory.MakeExeption("متاسفانه کد فعال سازی ارسال نشد. مجددا تلاش کنید",
                                                         ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "VerificationCode", E_LogType.SYSTEM_ERROR);
                }
            }
            catch (Exception ex)
            {
                M_SystemLog exx = new M_SystemLog(E_SystemType.SHAHRDARI_USER_WEB_APPLICATION, E_LogType.ERROR, ex);
                result = "Error";
                if (ex.Source == E_LogType.SYSTEM_ERROR.ToString())
                {
                    exx.LogType = E_LogType.SYSTEM_ERROR;
                    result      = exx;
                }
                L_Log.SubmitLog(exx);
            }
            return(Json(result));
        }
Esempio n. 3
0
        protected int validatePersonel()
        {
            int id = 0;

            try { id = int.Parse(Request.Headers.GetValues("PersonelId").FirstOrDefault()); }
            catch
            {
                throw F_ExeptionFactory.MakeExeption("کاربر مورد نظر در سیستم وجود ندارد",
                                                     ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "UserId", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }
            string unicKey = "";

            try { unicKey = Request.Headers.GetValues("UnicKey").FirstOrDefault(); }
            catch
            {
                throw F_ExeptionFactory.MakeExeption("کاربر مورد نظر در سیستم وجود ندارد",
                                                     ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "UserId", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }
            var user = new B_Personels().GetPersonelById(id);

            if (user == null)
            {
                throw F_ExeptionFactory.MakeExeption("کاربر مورد نظر در سیستم وجود ندارد",
                                                     ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "UserId", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }
            if (user.UnicKey != unicKey)
            {
                throw F_ExeptionFactory.MakeExeption("کاربر مورد نظر در سیستم وجود ندارد",
                                                     ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "UserId", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }
            return(id);
        }
Esempio n. 4
0
        /// <summary>
        /// عوض کردن وضعیت درخواست
        /// </summary>
        /// <param name="RequestId">شناسه درخواست</param>
        /// <param name="UserId">شناسه کاربر</param>
        /// <param name="Status">وضعیت</param>
        /// <param name="Comment">کامنت پایان کار</param>
        /// <param name="Rate">رتبه</param>
        public void ChangeStatus(int RequestId, int UserId, E_PublicCategory.REQUEST_STATUS Status, string Comment, int Rate)
        {
            DatabaseContext db = new DatabaseContext();

            db.ServicesRequests.Where(c => c.Id == RequestId && c.IsDeleted == false).Load();
            if (db.ServicesRequests.Local.Count == 0)
            {
                throw F_ExeptionFactory.MakeExeption("درخواستی برای ویرایش پیدا نشد",
                                                     ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "Id", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }
            if (db.ServicesRequests.Local.Where(c => c.UserId == UserId).Count() == 0)
            {
                throw F_ExeptionFactory.MakeExeption("درخواست مورد نظر برای کاربر جاری نمیباشد",
                                                     ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "Id", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }
            if (Status == E_PublicCategory.REQUEST_STATUS.CLOSED)
            {
                throw F_ExeptionFactory.MakeExeption("شما نمیتوانید درخواست را ببندید",
                                                     ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "Id", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }
            db.ServicesRequests.Local[0].Status        = Status;
            db.ServicesRequests.Local[0].Rate          = Rate;
            db.ServicesRequests.Local[0].FinishComment = Comment;
            db.ServicesRequests.Local[0].FinishDate    = DateTime.Now;
            db.SaveChanges();
        }
Esempio n. 5
0
        public ActionResult SearchOnMap(double Lat, double Lng, string SearchText)
        {
            object result = "";

            try
            {
                if (string.IsNullOrEmpty(SearchText))
                {
                    throw F_ExeptionFactory.MakeExeption("مقدار فیلد جستجو خالی است",
                                                         ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "PhoneNumber", Enums.Loging.E_LogType.SYSTEM_ERROR);
                }
                var res = new Helper.ApiCall(@"https://api.cedarmaps.com/v1/geocode/cedarmaps.streets/" + SearchText + "?location=" + Lat + "," + Lng + "&distance=50&access_token=7775fb1e47034c4ae978aae1b3ac3f6f0b4ec6b3", "").CallApiGet();
                result = res;
            }
            catch (Exception ex)
            {
                M_SystemLog exx = new M_SystemLog(E_SystemType.SHAHRDARI_USER_WEB_APPLICATION, E_LogType.ERROR, ex);
                result = "Error";
                if (ex.Source == E_LogType.SYSTEM_ERROR.ToString())
                {
                    exx.LogType = E_LogType.SYSTEM_ERROR;
                    result      = exx;
                }
                L_Log.SubmitLog(exx);
            }
            return(Json(result));
        }
Esempio n. 6
0
        /// <summary>
        /// ارجا دادن درخواست
        /// </summary>
        /// <param name="RequestId">شناسه درخواست</param>
        /// <param name="PersonelId">شناسه کاربر</param>
        /// <param name="ReferDate">تاریخ ارجا</param>
        public void ReferRequest(int RequestId, int PersonelId, DateTime ReferDate)
        {
            if (new B_Personels().GetPersonelById(PersonelId) == null)
            {
                throw F_ExeptionFactory.MakeExeption("پرسنل انتخاب شده صحیح نیست", E_LogType.SYSTEM_ERROR);
            }
            var db = new DatabaseContext();

            db.ServicesRequests.Where(c => c.Id == RequestId).Load();
            if (db.ServicesRequests.Local.Count <= 0)
            {
                throw F_ExeptionFactory.MakeExeption("درخواست مورد نظر یافت نشد", E_LogType.SYSTEM_ERROR);
            }
            var fromDate           = ReferDate.AddMinutes(-90);
            var toDate             = ReferDate.AddMinutes(90);
            var inTimeRequestCount = db.ServicesRequests.Where(c => (c.ReferralDate >= fromDate && c.ReferralDate <= toDate) && c.PersonelId == PersonelId && c.Id != RequestId).Count();

            if (inTimeRequestCount > 0)
            {
                throw F_ExeptionFactory.MakeExeption("پرسنل انتخاب شده در این زمان کار برای انجام دارد , سرویس کار باید حداقل تا یک ساعت و سی دقیقه قبل و بعد از زمان مشخص شده زمان آزاد داشته باشد", E_LogType.SYSTEM_ERROR);
            }
            db.ServicesRequests.Local[0].PersonelId   = PersonelId;
            db.ServicesRequests.Local[0].ReferralDate = ReferDate;
            db.ServicesRequests.Local[0].ToDoDate     = DateTime.Now;
            db.ServicesRequests.Local[0].Status       = E_PublicCategory.REQUEST_STATUS.APPROVED_AND_REFERENCED;
            db.SaveChanges();
        }
Esempio n. 7
0
        public ActionResult DeleteFavoriteAddress(int Id)
        {
            object result = "";

            try
            {
                B_Addresses bAddress = new B_Addresses();
                if (Id == 0)
                {
                    throw F_ExeptionFactory.MakeExeption("شما مجاز به حذف آدرس منتخب نیستید",
                                                         ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "FavoriteAddress", Enums.Loging.E_LogType.SYSTEM_ERROR);
                }
                bAddress.Delete(Id);
                result = bAddress.GetAddresses(CurrentUser.Id, true);
            }
            catch (Exception ex)
            {
                M_SystemLog exx = new M_SystemLog(E_SystemType.SHAHRDARI_USER_WEB_APPLICATION, E_LogType.ERROR, ex);
                result = "Error";
                if (ex.Source == E_LogType.SYSTEM_ERROR.ToString())
                {
                    exx.LogType = E_LogType.SYSTEM_ERROR;
                    result      = exx;
                }
                L_Log.SubmitLog(exx);
            }
            return(Json(result));
        }
        public ActionResult Modify(M_ServicesRequests ServicesRequests, List <M_ServicesRequestItems> RequestList)
        {
            object result = "";

            try
            {
                var request = new B_ServicesRequests().GetServicesRequests(ServicesRequests.Id);
                if (request != null)
                {
                    request.Address            = ServicesRequests.Address;
                    request.Description        = ServicesRequests.Description;
                    request.ImmediatelyRequest = ServicesRequests.ImmediatelyRequest;
                    request.PlaqueNumber       = ServicesRequests.PlaqueNumber;
                    request.UnitNumber         = ServicesRequests.UnitNumber;
                    request.UpdateDate         = DateTime.Now;
                    new B_ServicesRequests().Edit(request, false);
                }
                var bItems   = new B_ServicesRequestItems();
                var oldItems = bItems.GetItems(ServicesRequests.Id, E_PublicCategory.SYSTEM_USER_TYPE.NORMAL_USER);
                foreach (var li in oldItems)
                {
                    bItems.Delete(li.Id);
                }
                foreach (var li in RequestList)
                {
                    if (!li.CategoryId.HasValue)
                    {
                        throw F_ExeptionFactory.MakeExeption("مقادیر دسته بندی های انتخاب شده صحیح نیست لطفا مراتب را سریعتر به تیم فنی پروژه گزارش دهید", Enums.Loging.E_LogType.SYSTEM_ERROR);
                    }
                    var category = new B_ServicesCategories().GetServicesCategories(li.CategoryId.Value);
                    li.CategoryId         = category.Id;
                    li.CreateDate         = category.CreateDate;
                    li.ImageName          = category.ImageName;
                    li.IsFailed           = false;
                    li.RequestId          = ServicesRequests.Id;
                    li.ScorePerUnit       = category.ScorePerUnit;
                    li.ScorePerUnitDriver = category.ScorePerUnitDriver;
                    li.Title    = category.Title;
                    li.Unit     = category.Unit;
                    li.UserId   = request.UserId;
                    li.UserType = E_PublicCategory.SYSTEM_USER_TYPE.NORMAL_USER;
                    li.Id       = 0;
                    bItems.Add(li);
                }

                result = "Success";
            }
            catch (Exception ex)
            {
                M_SystemLog exx = new M_SystemLog(E_SystemType.SHAHRDARI_WEB_APPLICATION, E_LogType.ERROR, ex);
                result = "Error";
                if (ex.Source == E_LogType.SYSTEM_ERROR.ToString())
                {
                    exx.LogType = E_LogType.SYSTEM_ERROR;
                    result      = exx;
                }
                L_Log.SubmitLog(exx);
            }
            return(Json(result));
        }
Esempio n. 9
0
        public ActionResult ResetPasswordChangePassword(int Id, string NewPassword, string RetypeNewPassword)
        {
            object result = "";

            try
            {
                if (string.IsNullOrEmpty(NewPassword))
                {
                    throw F_ExeptionFactory.MakeExeption("گذرواژه وارد شده صحیح نمی باشد",
                                                         ((int)E_ErrorCodes.USERNAME_OR_PASSWORD) + S_Seprators.ErrorFieldNameSeprator.ToString() + "Password", Enums.Loging.E_LogType.SYSTEM_ERROR);
                }
                if (string.IsNullOrEmpty(RetypeNewPassword))
                {
                    throw F_ExeptionFactory.MakeExeption("گذرواژه وارد شده صحیح نمی باشد",
                                                         ((int)E_ErrorCodes.USERNAME_OR_PASSWORD) + S_Seprators.ErrorFieldNameSeprator.ToString() + "Password", Enums.Loging.E_LogType.SYSTEM_ERROR);
                }
                if (NewPassword != RetypeNewPassword)
                {
                    throw F_ExeptionFactory.MakeExeption("گذرواژه های وارد شده باید یکسان باشند",
                                                         ((int)E_ErrorCodes.USERNAME_OR_PASSWORD) + S_Seprators.ErrorFieldNameSeprator.ToString() + "Password", Enums.Loging.E_LogType.SYSTEM_ERROR);
                }
                if (Id == 0)
                {
                    throw F_ExeptionFactory.MakeExeption("اطلاعات ورودی معتبر نمیباشد",
                                                         ((int)E_ErrorCodes.EMPTY_FIELD) + S_Seprators.ErrorFieldNameSeprator.ToString() + "VerificationId", Enums.Loging.E_LogType.SYSTEM_ERROR);
                }
                var smsAuthorize = new B_SmsAuthorise().GetSmsDetails(Id);
                if (smsAuthorize == null)
                {
                    throw F_ExeptionFactory.MakeExeption("اطلاعات ورودی معتبر نمیباشد",
                                                         ((int)E_ErrorCodes.EMPTY_FIELD) + S_Seprators.ErrorFieldNameSeprator.ToString() + "VerificationId", Enums.Loging.E_LogType.SYSTEM_ERROR);
                }
                if (new B_Users().ChangePassword(smsAuthorize.PhoneNumber, NewPassword))
                {
                    result = "Success";
                }
                else
                {
                    throw F_ExeptionFactory.MakeExeption("خطا در تغییر گذرواژه",
                                                         ((int)E_ErrorCodes.USERNAME_OR_PASSWORD) + S_Seprators.ErrorFieldNameSeprator.ToString() + "Password", Enums.Loging.E_LogType.SYSTEM_ERROR);
                }
            }
            catch (Exception ex)
            {
                M_SystemLog exx = new M_SystemLog(E_SystemType.SHAHRDARI_USER_WEB_APPLICATION, E_LogType.ERROR, ex);
                result = "Error";
                if (ex.Source == E_LogType.SYSTEM_ERROR.ToString())
                {
                    exx.LogType = E_LogType.SYSTEM_ERROR;
                    result      = exx;
                }
                L_Log.SubmitLog(exx);
            }
            return(Json(result));
        }
Esempio n. 10
0
        /// <summary>
        /// دریافت یک درخواست با توجه به شناسه درخواست برای پرسنل
        /// </summary>
        /// <param name="Id">شناسه درخواست</param>
        /// <param name="PersonelId">شناسه پرسنل</param>
        /// <returns>درخواست مورئ نظر</returns>
        public M_ServicesRequests GetServicesRequestsForPersonel(int Id, int PersonelId)
        {
            var result = new DatabaseContext().ServicesRequests.Where(c => c.Id == Id && c.PersonelId == PersonelId).FirstOrDefault();

            if (result == null)
            {
                throw F_ExeptionFactory.MakeExeption("درخواست مورد نظر برای این کاربر پیدا نشد",
                                                     ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "PersonelId", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }
            return(result);
        }
Esempio n. 11
0
        /// <summary>
        /// بررسی صحت کد فعالسازی
        /// </summary>
        /// <param name="Id">شناسه</param>
        /// <param name="Code">کد فعالسازی</param>
        /// <param name="PhoneNumber">شماره تلفن همراه</param>
        /// <returns>نتیجه تراکنش</returns>
        public bool IsValidCode(int Id, int Code)
        {
            var db = new DatabaseContext();

            if (db.SmsAuthorise.Where(c => c.Code == Code && c.Id == Id).Count() == 0)
            {
                throw F_ExeptionFactory.MakeExeption("کد مورد نظر یافت نشد",
                                                     ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "Code", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }
            db.SaveChanges();
            return(true);
        }
Esempio n. 12
0
        public ActionResult ResetPasswordSendVerificationCode(string PhoneNumber)
        {
            object result = "";

            try
            {
                if (string.IsNullOrEmpty(PhoneNumber))
                {
                    throw F_ExeptionFactory.MakeExeption("شماره تلفن وارد شده صحیح نیست",
                                                         ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "PhoneNumber", Enums.Loging.E_LogType.SYSTEM_ERROR);
                }
                if (PhoneNumber.Length != 11)
                {
                    throw F_ExeptionFactory.MakeExeption("شماره تلفن وارد شده صحیح نیست",
                                                         ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "PhoneNumber", Enums.Loging.E_LogType.SYSTEM_ERROR);
                }
                var user = new B_Users().GetUsers(PhoneNumber);
                if (user == null)
                {
                    throw F_ExeptionFactory.MakeExeption("شماره تلفن وارد شده در سیستم ثبت نشده است",
                                                         ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "PhoneNumber", Enums.Loging.E_LogType.SYSTEM_ERROR);
                }
                if (user.IsDeleted == true)
                {
                    throw F_ExeptionFactory.MakeExeption("چنین کاربری یافت نشد",
                                                         ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "User", Enums.Loging.E_LogType.SYSTEM_ERROR);
                }
                int code = new B_SmsAuthorise().AddCode(PhoneNumber);
                if (code != 0)
                {
                    new ApplicationHelper.Sms().SendSms(PhoneNumber, code.ToString());
                    result = new B_SmsAuthorise().GetSmsDetailsId(PhoneNumber);
                }
                else
                {
                    throw F_ExeptionFactory.MakeExeption("متاسفانه کد فعال سازی ارسال نشد. مجددا تلاش کنید",
                                                         ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "VerificationCode", E_LogType.SYSTEM_ERROR);
                }
            }
            catch (Exception ex)
            {
                M_SystemLog exx = new M_SystemLog(E_SystemType.SHAHRDARI_USER_WEB_APPLICATION, E_LogType.ERROR, ex);
                result = "Error";
                if (ex.Source == E_LogType.SYSTEM_ERROR.ToString())
                {
                    exx.LogType = E_LogType.SYSTEM_ERROR;
                    result      = exx;
                }
                L_Log.SubmitLog(exx);
            }
            return(Json(result));
        }
Esempio n. 13
0
        /// <summary>
        /// حذف یم دسته بندی
        /// </summary>
        /// <param name="Id">شناسه دسته بندی</param>
        public void Delete(int Id)
        {
            DatabaseContext db = new DatabaseContext();

            if (db.ServicesCategories.Where(c => c.ParentId == Id).Count() > 0)
            {
                throw F_ExeptionFactory.MakeExeption($"برای این دسته بندی زیر شاخه وجود دارد", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }
            //if (db.ServicesRequests.Where(c => c.ServicesCategoryId == Id).Count() > 0)
            //    throw F_ExeptionFactory.MakeExeption($"برای این دسته بندی درخواست ثبت شده", Enums.Loging.E_LogType.SYSTEM_ERROR);
            db.ServicesCategories.Remove(db.ServicesCategories.Where(c => c.Id == Id).FirstOrDefault());
            db.SaveChanges();
        }
Esempio n. 14
0
        /// <summary>
        /// بررسی صحت کد فعالسازی
        /// </summary>
        /// <param name="Code">کد فعالسازی</param>
        /// <param name="PhoneNumber">شماره تلفن همراه</param>
        /// <returns>نتیجه تراکنش</returns>
        public void IsValidCode(int Code, string PhoneNumber)
        {
            var db = new DatabaseContext();

            if (db.SmsAuthorise.Where(c => c.PhoneNumber == PhoneNumber && c.Code == Code).Count() == 0)
            {
                throw F_ExeptionFactory.MakeExeption("کد مورد نظر یافت نشد",
                                                     ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "Code", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }
            db.SmsAuthorise.Where(c => c.PhoneNumber == PhoneNumber && c.Code == Code).Load();
            db.SmsAuthorise.Remove(db.SmsAuthorise.Local[0]);
            db.SaveChanges();
        }
Esempio n. 15
0
        /// <summary>
        /// بازگردانی کابر حذف شده
        /// </summary>
        /// <param name="Id">شناسه کاربر</param>
        public void RevertUser(int Id)
        {
            var db = new DatabaseContext();

            db.Users.Where(c => c.Id == Id).Load();
            if (db.Users.Local.Count <= 0)
            {
                throw F_ExeptionFactory.MakeExeption("کاربری برای بازگردانی یافت نشد",
                                                     ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "User", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }
            db.Users.Local[0].IsDeleted = false;
            db.SaveChanges();
        }
Esempio n. 16
0
        /// <summary>
        /// حذف آدرس
        /// </summary>
        /// <param name="UserId">شناسه کاربر</param>
        /// <param name="IsUser">فلگ</param>
        public void Delete(int UserId, bool IsUser = true)
        {
            var db = new DatabaseContext();

            db.Addresses.Where(c => c.UserId == UserId).Load();
            if (db.Addresses.Local.Count <= 0)
            {
                throw F_ExeptionFactory.MakeExeption("آدرسی برای حذف یافت نشد",
                                                     ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "Address", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }
            db.Addresses.RemoveRange(db.Addresses.Local);
            db.SaveChanges();
        }
Esempio n. 17
0
        public override void Validate <T>(T Data)
        {
            base.Validate(Data);
            var db           = new DatabaseContext();
            var mobileNumber = typeof(T).GetProperty("MobileNumber").GetValue(Data).ToString();
            var id           = int.Parse(typeof(T).GetProperty("Id").GetValue(Data).ToString());

            if (db.Users.Where(c => c.Id != id && c.MobileNumber == mobileNumber && c.IsDeleted == false).Count() > 0)
            {
                throw F_ExeptionFactory.MakeExeption($"شماره تلفن {mobileNumber} قبلا در سیستم ثبت شده است",
                                                     ((int)E_ErrorCodes.HAVE_USER_MOBILE_NUMBER) + S_Seprators.ErrorFieldNameSeprator.ToString() + "MobileNumber", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }
        }
Esempio n. 18
0
        public bool AddListenEar(M_ListenEar Data)
        {
            if (string.IsNullOrEmpty(Data.Description))
            {
                throw F_ExeptionFactory.MakeExeption("توضیحات را وارد کنید",
                                                     ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "Description", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }
            var db = new DatabaseContext();

            db.ListenEar.Add(Data);
            db.SaveChanges();
            return(true);
        }
Esempio n. 19
0
        /// <summary>
        /// حذف نقش
        /// </summary>
        /// <param name="Id">شناسه نقش</param>
        public void Delete(int Id)
        {
            if (new B_Personels().GetPersonels(Id).Count > 0)
            {
                throw F_ExeptionFactory.MakeExeption("این نقش استفاده شده و امکان حذف وجود ندارد", E_LogType.SYSTEM_ERROR);
            }
            B_PersonelRoleValues bPersonelRoleValue = new B_PersonelRoleValues();

            bPersonelRoleValue.Delete(Id);
            DatabaseContext db = new DatabaseContext();

            db.PersonelRoles.Remove(db.PersonelRoles.Where(c => c.Id == Id).FirstOrDefault());
            db.SaveChanges();
        }
Esempio n. 20
0
        /// <summary>
        /// حذف یک کاربر با چک کردن بونید کد
        /// </summary>
        /// <param name="Id">شناسه کاربر</param>
        /// <param name="UnicCode">کد یکتا</param>
        public void Delete(int Id, string UnicCode)
        {
            DatabaseContext db = new DatabaseContext();

            db.Users.Where(c => c.Id == Id && c.UnicKey == UnicCode && c.IsDeleted == false && c.IsActive == true).Load();
            if (db.Users.Local.Count <= 0)
            {
                throw F_ExeptionFactory.MakeExeption("کاربری برای حذف یافت نشد",
                                                     ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "User", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }
            db.Users.Local[0].IsDeleted   = true;
            db.Users.Local[0].DeletedDate = DateTime.Now;
            db.SaveChanges();
        }
Esempio n. 21
0
        /// <summary>
        /// اعتبار سنجی مدل
        /// </summary>
        /// <typeparam name="T">نوع مدل</typeparam>
        /// <param name="Data">داده</param>
        public virtual void Validate <T>(T Data)
        {
            M_ValidationResult ValidationResult = Data.ValidateModel();

            if (!ValidationResult.IsValid)
            {
                var errorContent = ValidationResult.Errors.First().Split(S_Seprators.ErrorMessageSeprator).ToList();
                if (errorContent.Count == 1)
                {
                    throw F_ExeptionFactory.MakeExeption(errorContent[0], Enums.Loging.E_LogType.SYSTEM_ERROR);
                }
                throw F_ExeptionFactory.MakeExeption(errorContent[0], errorContent[1], Enums.Loging.E_LogType.SYSTEM_ERROR);
            }
        }
Esempio n. 22
0
        public bool DeleteAccount(int Id, int UserId)
        {
            var db = new DatabaseContext();

            db.Accounts.Where(x => x.Id == Id && x.UserId == UserId).Load();
            if (db.Accounts.Local.Count == 0)
            {
                throw F_ExeptionFactory.MakeExeption("حسابی برای حذف پیدا نشد",
                                                     ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "Account", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }
            db.Accounts.Local[0].IsDelete = true;
            db.SaveChanges();
            return(true);
        }
Esempio n. 23
0
        /// <summary>
        /// حذف پیام خواص
        /// </summary>
        /// <param name="Id">شناسه پیام</param>
        /// <returns>نتیجه عملیات</returns>
        public bool Delete(int Id)
        {
            var db = new DatabaseContext();

            db.Messages.Where(c => c.Id == Id).Load();
            if (db.Messages.Local.Count == 0)
            {
                throw F_ExeptionFactory.MakeExeption("پیغامی برای حذف یافت نشد",
                                                     ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "Messages", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }
            db.Messages.Remove(db.Messages.Local[0]);
            db.SaveChanges();
            return(true);
        }
Esempio n. 24
0
        /// <summary>
        /// اعتبار سنجی مدل
        /// </summary>
        /// <typeparam name="T">نوع مدل</typeparam>
        /// <param name="Data">داده</param>
        public override void Validate <T>(T Data)
        {
            base.Validate(Data);

            if (new B_Users().GetUsers(int.Parse(Data.GetType().GetProperty("UserId").GetValue(Data).ToString())) == null)
            {
                throw F_ExeptionFactory.MakeExeption("کاربر مورد نظر در سیستم وجود ندارد",
                                                     ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "UserId", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }

            //if (((int?)Data.GetType().GetProperty("PersonelId").GetValue(Data)).HasValue)
            //    if (new B_Users().GetUsers(int.Parse(Data.GetType().GetProperty("PersonelId").GetValue(Data).ToString())) == null)
            //        throw F_ExeptionFactory.MakeExeption("پرسنل مورد نظر در سیستم وجود ندارد",
            //            ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "PersonelId", Enums.Loging.E_LogType.SYSTEM_ERROR);
        }
Esempio n. 25
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="Id"></param>
        /// <param name="PhoneNumber"></param>
        /// <returns></returns>
        public bool ChangeUsername(int Id, string PhoneNumber)
        {
            var db = new DatabaseContext();

            db.Personels.Where(x => x.Id == Id).Load();
            if (db.Personels.Local.Count == 0)
            {
                throw F_ExeptionFactory.MakeExeption("کاربر مورد نظر وجود ندارد", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }
            db.Personels.Local[0].UserName     = PhoneNumber;
            db.Personels.Local[0].MobileNumber = PhoneNumber;
            db.Personels.Local[0].IsActive     = false;
            db.SaveChanges();
            return(true);
        }
Esempio n. 26
0
        public bool AsignUserToRequest(int PersonalId, int RequestId)
        {
            var db = new DatabaseContext();

            db.ServicesRequests.Where(x => x.Id == RequestId).Load();
            if (db.ServicesRequests.Local.Count == 0)
            {
                throw F_ExeptionFactory.MakeExeption("خطای ارسال اطلاعات",
                                                     ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "RequestId", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }
            db.ServicesRequests.Local[0].PersonelId = PersonalId;
            db.ServicesRequests.Local[0].Status     = E_PublicCategory.REQUEST_STATUS.APPROVED_AND_REFERENCED;
            db.ServicesRequests.Local[0].ToDoDate   = DateTime.Now;
            db.SaveChanges();
            return(true);
        }
Esempio n. 27
0
        public void CloseRequestByPortal(int RequestId)
        {
            DatabaseContext db = new DatabaseContext();

            db.ServicesRequests.Where(c => c.Id == RequestId && c.IsDeleted == false).Load();
            if (db.ServicesRequests.Local.Count == 0)
            {
                throw F_ExeptionFactory.MakeExeption("درخواستی برای ویرایش پیدا نشد",
                                                     ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "Id", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }
            db.ServicesRequests.Local[0].FinishComment = "بسته شده توسط پرتال";
            db.ServicesRequests.Local[0].FinishDate    = DateTime.Now;
            db.ServicesRequests.Local[0].Status        = E_PublicCategory.REQUEST_STATUS.CLOSED;
            db.SaveChanges();
            new B_ServicesRequestItems().CommitScoreItems(RequestId, E_PublicCategory.SYSTEM_USER_TYPE.NORMAL_USER);
        }
Esempio n. 28
0
        /// <summary>
        /// ویرایش پیغام
        /// </summary>
        /// <param name="Message">پیغام مربوطه </param>
        /// <returns>نتیجه تراکنش</returns>
        public M_Messages Edit(M_Messages Message)
        {
            Validate(Message);
            var db = new DatabaseContext();

            db.Messages.Where(c => c.Id == Message.Id).Load();
            if (db.Messages.Local.Count == 0)
            {
                throw F_ExeptionFactory.MakeExeption("پیغامی برای ویرایش یافت نشد",
                                                     ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "Messages", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }
            db.Messages.Local[0].messages = Message.messages;
            db.Messages.Local[0].title    = Message.title;
            db.SaveChanges();
            return(Message);
        }
Esempio n. 29
0
        /// <summary>
        /// ویرایش یک کاربر
        /// </summary>
        /// <param name="User">کاربر مورد نظر</param>
        /// <param name="CheckUnicCode">کد یکتا چک شود ؟</param>
        public void Edit(M_Users User, bool CheckUnicCode = false)
        {
            if (!CheckUnicCode)
            {
                Validate(User);
            }
            DatabaseContext db = new DatabaseContext();

            if (!CheckUnicCode)
            {
                db.Users.Where(c => c.Id == User.Id && c.IsDeleted == false).Load();
            }
            else
            {
                db.Users.Where(c => c.Id == User.Id && c.UnicKey == User.UnicKey && c.IsDeleted == false).Load();
            }
            if (db.Users.Local.Count <= 0)
            {
                throw F_ExeptionFactory.MakeExeption("کاربری برای ویرایش یافت نشد",
                                                     ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "User", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }
            if (CheckUnicCode)
            {
                User.LastOnline   = db.Users.Local[0].LastOnline;
                User.RegisterDate = db.Users.Local[0].RegisterDate;
                Validate(User);
            }
            if (!CheckUnicCode)
            {
                db.Users.Local[0].IsActive     = User.IsActive;
                db.Users.Local[0].DeactiveDate = User.DeactiveDate;
            }
            db.Users.Local[0].BirthDate     = User.BirthDate;
            db.Users.Local[0].FirstName     = User.FirstName;
            db.Users.Local[0].Gender        = User.Gender;
            db.Users.Local[0].ImageName     = User.ImageName;
            db.Users.Local[0].LastName      = User.LastName;
            db.Users.Local[0].MobileNumber  = User.MobileNumber;
            db.Users.Local[0].Email         = User.Email;
            db.Users.Local[0].UserType      = User.UserType;
            db.Users.Local[0].InstituteType = User.InstituteType;
            db.Users.Local[0].InstituteName = User.InstituteName;
            db.Users.Local[0].PostalCode    = User.PostalCode;
            db.Users.Local[0].Tell          = User.Tell;
            db.SaveChanges();
        }
Esempio n. 30
0
        public bool EditAccount(M_Accounts Data)
        {
            Validate(Data);
            var db = new DatabaseContext();

            db.Accounts.Where(x => x.Id == Data.Id).Load();
            if (db.Accounts.Local.Count == 0)
            {
                throw F_ExeptionFactory.MakeExeption("حسابی برای ویرایش پیدا نشد",
                                                     ((int)E_ErrorCodes.NOT_FOUND) + S_Seprators.ErrorFieldNameSeprator.ToString() + "Account", Enums.Loging.E_LogType.SYSTEM_ERROR);
            }
            db.Accounts.Local[0].AccountHolderName = Data.AccountHolderName;
            db.Accounts.Local[0].BankName          = Data.BankName;
            db.Accounts.Local[0].ShabaNumber       = Data.ShabaNumber;
            db.SaveChanges();
            return(true);
        }