Exemple #1
0
        public void BSO_Set(BSO.SaveData data)
        {
            List <SqlParameter> parameters = new List <SqlParameter>();

            parameters.AddInputParameter("@BSO_Id", SqlDbType.BigInt, data.Id);
            parameters.AddInputParameter("@StatusId", SqlDbType.BigInt, data.StatusId);
            parameters.AddInputParameter("@DeliveryPointId", SqlDbType.BigInt, data.DeliveryPointId);
            parameters.AddInputParameter("@StatusDate", SqlDbType.DateTime, data.StatusDate);
            parameters.AddInputParameter("@Comment", SqlDbType.NVarChar, data.Comment);
            parameters.AddInputParameter("@UserID", SqlDbType.BigInt, data.UserId);
            parameters.AddInputParameter("@ResponsibleID", SqlDbType.BigInt, data.ResponsibleID);
            parameters.AddInputParameter("@ChangeDate", SqlDbType.DateTime, DateTime.Now);
            Execute_StoredProcedure("BSO_Set", parameters);
        }
Exemple #2
0
 public BSO.SaveData GetBSOSaveData()
 {
     BSO.SaveData data = new BSO.SaveData();
     data.Id = Id;
     data.TemporaryPolicyNumber = TemporaryPolicyNumber;
     data.PolicyPartyNumber     = PolicyPartyNumber;
     data.StatusId         = StatusId;
     data.StatusDate       = StatusDate;
     data.DeliveryCenterId = DeliveryCenterId;
     data.DeliveryPointId  = DeliveryPointId;
     data.VisitGroupId     = VisitGroupId;
     data.Comment          = Comment;
     data.UserId           = UserId;
     data.ChangeDate       = ChangeDate;
     return(data);
 }
Exemple #3
0
        public long BSO_Save(BSO.SaveData data)
        {
            List <SqlParameter> parameters = new List <SqlParameter>();

            //parameters.AddInputParameter("@BSO_Id", SqlDbType.BigInt, data.Id);
            parameters.AddInputParameter("@TemporaryPolicyNumber", SqlDbType.NVarChar, data.TemporaryPolicyNumber);
            parameters.AddInputParameter("@PolicyPartyNumber", SqlDbType.NVarChar, data.PolicyPartyNumber);
            parameters.AddInputParameter("@StatusId", SqlDbType.BigInt, data.StatusId);
            parameters.AddInputParameter("@StatusDate", SqlDbType.DateTime, data.StatusDate);
            parameters.AddInputParameter("@DeliveryCenterId", SqlDbType.BigInt, data.DeliveryCenterId);
            parameters.AddInputParameter("@DeliveryPointId", SqlDbType.BigInt, data.DeliveryPointId);
            parameters.AddInputParameter("@VisitGroupId", SqlDbType.BigInt, data.VisitGroupId);
            parameters.AddInputParameter("@Comment", SqlDbType.NVarChar, data.Comment);
            parameters.AddInputParameter("@UserID", SqlDbType.BigInt, data.UserId);
            parameters.AddInputParameter("@ResponsibleID", SqlDbType.BigInt, data.ResponsibleID);
            parameters.AddInputParameter("@ChangeDate", SqlDbType.DateTime, DateTime.Now);
            SqlParameter BSO_ID = parameters.AddInputOutputParameter("@BSO_ID", SqlDbType.BigInt, data.Id);

            Execute_StoredProcedure("BSO_Save", parameters);
            return((long)BSO_ID.Value);
        }
Exemple #4
0
        public ActionResult MassChanges(BSOListModel bsoListModel)
        {
            long     newStatus      = (long)bsoListModel.SearchCriteriaModel.CurrentStatusId;
            long?    newDelivery    = bsoListModel.SearchCriteriaModel.NewDeliveryPointId;
            long?    newResponsible = bsoListModel.SearchCriteriaModel.NewResponsibleID;
            DateTime?newStatusDate  = bsoListModel.SearchCriteriaModel.NewStatusDate;

            long countPrintBso = 0;

            //Регистратор не может изменить 'Точку выдачи' и 'Ответственного'
            if (Role.Registrator.Id == Role.GetRealRole(CurrentUser).Id)
            {
                bsoListModel.SearchCriteriaModel.NewDeliveryPointId = CurrentUser.DeliveryPoint.Id;
                newDelivery = CurrentUser.DeliveryPoint.Id;
                bsoListModel.SearchCriteriaModel.NewResponsibleID = bsoListModel.SearchCriteriaModel.ResponsibleID;
                newResponsible = bsoListModel.SearchCriteriaModel.ResponsibleID;
                bsoListModel.SearchCriteriaModel.Messages.Add("В роли Регистратор, вы не можете изменить Ответственного или Точку Выдачи");
            }

            //Ответственный не может изменить 'Ответственного'
            if (Role.ResponsibleBSO.Id == Role.GetRealRole(CurrentUser).Id &&
                (bsoListModel.SearchCriteriaModel.NewResponsibleID != bsoListModel.SearchCriteriaModel.ResponsibleID))
            {
                bsoListModel.SearchCriteriaModel.NewResponsibleID = bsoListModel.SearchCriteriaModel.ResponsibleID;
                newResponsible = bsoListModel.SearchCriteriaModel.ResponsibleID;
                bsoListModel.SearchCriteriaModel.Messages.Add("В роли Ответственного, вы не можете изменить 'Ответственного'");
            }

            BSOSearchCriteria oldCriteria = bsoListModel.SearchCriteriaModel.GetBSOSearchCriteria();

            bsoListModel.SearchCriteriaModel.Validate(new ModelValidationContext()
            {
                currenUser = CurrentUser
            });
            bsoListModel.SearchCriteriaModel.IsSuccessfullySaved = bsoListModel.SearchCriteriaModel.IsValid();
            if (Request.IsAjaxRequest())
            {
                if (bsoListModel.SearchCriteriaModel.IsValid())
                {
                    BSOSearchCriteria  criteria = bsoListModel.SearchCriteriaModel.GetBSOSearchCriteria();
                    DataPage <BSOInfo> listBso  = bsoBusinessLogic.BSO_Find(
                        criteria,
                        new List <SortCriteria <BSOSortField> >(),
                        new PageRequest()
                    {
                        PageNumber = bsoListModel.PageNumber, PageSize = int.MaxValue
                    });

                    BSOSaveDataModel bsoSaveDataModel = new BSOSaveDataModel()
                    {
                        StatusId          = newStatus,
                        ResponsibleID     = newResponsible,
                        PolicyPartyNumber = bsoListModel.SearchCriteriaModel.PolicyPartyNumber,
                        DeliveryPointId   = newDelivery,
                        UserId            = CurrentUser.Id,
                        Comment           = string.Format("Массовая смена статуса")
                    };

                    if (listBso.Count == 0)
                    {
                        bsoListModel.SearchCriteriaModel.IsSuccessfullySaved = false;
                    }
                    foreach (var b in listBso)
                    {
                        //если не указана новая точка выдачи, то сохраняем прежную
                        //если указана - записываем новую
                        if (newDelivery == null)
                        {
                            bsoSaveDataModel.DeliveryPointId = b.DeliveryPointId;
                        }
                        else
                        {
                            bsoSaveDataModel.DeliveryPointId = newDelivery;
                        }

                        //если не указан новый ответственный, то сохраняем прежнего
                        //если указан - записываем нового
                        if (newResponsible == null)
                        {
                            bsoSaveDataModel.ResponsibleID = b.ResponsibleID;
                        }
                        else
                        {
                            bsoSaveDataModel.ResponsibleID = newResponsible;
                        }

                        //если не указана новая дата статуса, то сохраняем прежную
                        //если указан - записываем новую
                        if (newStatusDate == null)
                        {
                            bsoSaveDataModel.StatusDate = b.StatusDate;
                        }
                        else
                        {
                            bsoSaveDataModel.StatusDate = newStatusDate;
                        }

                        bsoSaveDataModel.Id = b.Id;
                        BSO.SaveData save = bsoSaveDataModel.GetBSOSaveData();
                        bsoBusinessLogic.BSO_Set(save);
                    }
                    countPrintBso = listBso.Count;
                }
                else
                {
                    //nothing
                }
            }
            else
            {
                return(RedirectToAction("Index", "BSO"));
            }

            DataPage <BSOInfo> bsos = bsoBusinessLogic.BSO_Find(
                oldCriteria,
                new List <SortCriteria <BSOSortField> >(),
                new PageRequest()
            {
                PageNumber = bsoListModel.PageNumber, PageSize = bsoListModel.PageSize
            });
            BSOListModel model = new BSOListModel()
            {
                Items = bsos.Data.Select(item => new BSOBaseInfoModel(item)),
                SearchCriteriaModel = new BSOSearchCriteriaModel(oldCriteria),
                PageNumber          = bsoListModel.PageNumber,
                PageSize            = bsoListModel.PageSize,
                TotalCount          = bsos.TotalCount
            };

            model.SearchCriteriaModel.Messages.AddRange(bsoListModel.SearchCriteriaModel.Messages);
            model.SearchCriteriaModel.CurrentStatusId     = newStatus;
            model.SearchCriteriaModel.NewDeliveryPointId  = newDelivery;
            model.SearchCriteriaModel.NewResponsibleID    = newResponsible;
            model.SearchCriteriaModel.IsSuccessfullySaved = bsoListModel.SearchCriteriaModel.IsSuccessfullySaved;
            model.GetAvailableBSOStatus(bsoListModel.SearchCriteriaModel.StatusId, true);
            //печатаем отчет, если статус изменился: На точке
            if (model.SearchCriteriaModel.CurrentStatusId == (long)ListBSOStatusID.OnDelivery && model.SearchCriteriaModel.IsSuccessfullySaved.Value)
            {
                model.FlagPrintReport = countPrintBso;
            }
            else
            {
                model.FlagPrintReport = 0;
            }
            return(PartialView("MassChanges", model));
        }
Exemple #5
0
 public long BSO_Save(BSO.SaveData data)
 {
     return(BSODao.Instance.BSO_Save(data));
 }
Exemple #6
0
 public void BSO_Set(BSO.SaveData data)
 {
     BSODao.Instance.BSO_Set(data);
 }