Beispiel #1
0
        public static NotifierVm GetNotifierInfo(int id)
        {
            NotifierVm carrVmObj = new NotifierVm();

            if (id == 0)
            {
                ContactPersonVm contactVm = new ContactPersonVm();
                carrVmObj.ContactPersons.Add(contactVm);
            }
            else
            {
                EasyFreightEntities db        = new EasyFreightEntities();
                Notifier            carrDbObj = db.Notifiers.Include("NotifierContacts")
                                                .Where(x => x.NotifierId == id).FirstOrDefault();

                Mapper.CreateMap <Notifier, NotifierVm>().IgnoreAllNonExisting();
                Mapper.Map(carrDbObj, carrVmObj);

                Mapper.CreateMap <NotifierContact, ContactPersonVm>().IgnoreAllNonExisting()
                .ForMember(x => x.FkValue, opts => opts.MapFrom(scr => scr.NotifierId));

                ContactPersonVm contactVm;
                foreach (var item in carrDbObj.NotifierContacts)
                {
                    contactVm = new ContactPersonVm();
                    Mapper.Map(item, contactVm);
                    carrVmObj.ContactPersons.Add(contactVm);
                }
            }
            return(carrVmObj);
        }
Beispiel #2
0
        public IActionResult Index()
        {
            var vm = new NotifierVm {
                AuthSettings = _authSettings
            };

            return(View(vm));
        }
        public ActionResult Add(int id = 0)
        {
            #region Check Rights
            bool hasRights;
            if (id == 0) //Check export rights
            {
                hasRights = AdminHelper.CheckUserAction(ScreenEnum.Notifier, ActionEnum.Add);
            }
            else
            {
                hasRights = AdminHelper.CheckUserAction(ScreenEnum.Notifier, ActionEnum.Edit);
            }

            if (!hasRights)
            {
                return(RedirectToAction("UnAuthorized", "Home", new { area = "" }));
            }

            #endregion
            // ViewBag.ConsigneeList = ListCommonHelper.GetConsigneeList();
            ViewData["CityList"] = ListCommonHelper.GetCityGrouped();
            NotifierVm notifierObj = NotifierHelper.GetNotifierInfo(id);
            return(View(notifierObj));
        }
        public ActionResult AddEditNotifier(NotifierVm notifierVm)
        {
            string isSaved = NotifierHelper.AddEditNotifier(notifierVm);

            return(Json(isSaved));
        }
Beispiel #5
0
        public static string AddEditNotifier(NotifierVm carrVm)
        {
            int    carrId             = carrVm.NotifierId;
            string isSaved            = "true";
            EasyFreightEntities    db = new EasyFreightEntities();
            Notifier               carrDb;
            List <NotifierContact> dbContactList = new List <NotifierContact>();

            if (carrId == 0) //Add new case
            {
                carrDb = new Notifier();
            }
            else
            {
                carrDb = db.Notifiers.Include("NotifierContacts").Where(x => x.NotifierId == carrId).FirstOrDefault();
                //delete any removed contact on the screen
                dbContactList = carrDb.NotifierContacts.ToList();
                try
                {
                    //Get contact Ids sent from the screen
                    List <int> contactVmIds = carrVm.ContactPersons.Select(x => x.ContactId).ToList();
                    var        contactDel   = dbContactList.Where(x => !contactVmIds.Contains(x.ContactId)).ToList();

                    foreach (var item in contactDel)
                    {
                        db.NotifierContacts.Remove(item);
                    }
                }
                catch { }
            }

            Mapper.CreateMap <NotifierVm, Notifier>().IgnoreAllNonExisting();
            Mapper.Map(carrVm, carrDb);



            if (carrId == 0)
            {
                Random rand = new Random();
                carrDb.NotifierCode = rand.Next(10000).ToString();
                db.Notifiers.Add(carrDb);
            }

            Mapper.CreateMap <ContactPersonVm, NotifierContact>().IgnoreAllNonExisting()
            .ForMember(x => x.NotifierId, opts => opts.MapFrom(scr => scr.FkValue));

            NotifierContact carrContactDb;

            if (carrVm.ContactPersons != null && carrVm.ContactPersons.Count > 0)
            {
                foreach (var item in carrVm.ContactPersons.Where(x => !string.IsNullOrEmpty(x.ContactName)))
                {
                    if (item.ContactId == 0)
                    {
                        carrContactDb = new NotifierContact();
                    }
                    else
                    {
                        int contVmId = item.ContactId;
                        carrContactDb = dbContactList.Where(x => x.ContactId == contVmId).FirstOrDefault();
                    }

                    Mapper.Map(item, carrContactDb);

                    if (item.ContactId == 0)
                    {
                        carrDb.NotifierContacts.Add(carrContactDb);
                    }
                }
            }
            try
            {
                db.SaveChanges();
            }
            catch (DbEntityValidationException e)
            {
                isSaved = "false " + e.Message;
            }
            catch (Exception e)
            {
                isSaved = "false " + e.Message;
            }

            return(isSaved);
        }