예제 #1
0
        /// <summary>
        /// Създаване на обратно действие за местоположение
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        public int CreateReturnMovement(int Id)
        {
            try
            {
                var movement = GetById_CaseMovementVM(Id);

                var saved = new CaseMovement()
                {
                    CaseId           = movement.CaseId,
                    CourtId          = movement.CourtId,
                    MovementTypeId   = NomenclatureConstants.CaseMovementType.ToPerson,
                    OtherInstitution = ((movement.MovementTypeId == NomenclatureConstants.CaseMovementType.ToOutStructure) ? movement.OtherInstitution : string.Empty),
                    ToUserId         = movement.UserId,
                    DateSend         = DateTime.Now,
                    Description      = "Автоматично обратно връщане",
                    IsActive         = true,
                    DateWrt          = DateTime.Now,
                    UserId           = userContext.UserId
                };

                repo.Add <CaseMovement>(saved);
                repo.SaveChanges();
                return(saved.Id);
            }
            catch (Exception ex)
            {
                logger.LogError(ex, $"Грешка при запис на обратно връщане на движение по дело Id={ Id }");
                return(-1);
            }
        }
예제 #2
0
        public void AcceptMovementTest()
        {
            using (serviceProvider.CreateScope())
            {
                var service     = serviceProvider.GetService <ICaseMovementService>();
                var userContext = serviceProvider.GetService <IUserContext>();
                var repo        = serviceProvider.GetService <IRepository>();

                var model = new CaseMovement()
                {
                    Id                  = 1,
                    CaseId              = 1,
                    CourtId             = 1,
                    MovementTypeId      = 1,
                    ToUserId            = "1",
                    CourtOrganizationId = 1,
                    OtherInstitution    = "Test",
                    DateSend            = DateTime.Now,
                    AcceptUserId        = null,
                    DateAccept          = null,
                    Description         = "Description",
                    AcceptDescription   = "AcceptDescription",
                    UserId              = userContext.UserId,
                    DisableDescription  = "",
                    IsActive            = true
                };
                repo.Add <CaseMovement>(model);

                service.AcceptMovement(1);
                var caseMovement = repo.AllReadonly <CaseMovement>().FirstOrDefault();

                Assert.IsNotNull(caseMovement.DateAccept);
                Assert.IsNotNull(caseMovement.AcceptUserId);
            }
        }
예제 #3
0
        /// <summary>
        /// Метод за създаване на местоположение
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool CreateMovement(CaseMovementVM model)
        {
            try
            {
                model.CourtOrganizationId = model.CourtOrganizationId.EmptyToNull();

                if (model.Id > 0)
                {
                    //Update
                    var saved = repo.GetById <CaseMovement>(model.Id);
                    saved.MovementTypeId      = model.MovementTypeId;
                    saved.ToUserId            = model.ToUserId;
                    saved.CourtOrganizationId = model.CourtOrganizationId;
                    saved.OtherInstitution    = model.OtherInstitution;
                    //saved.DateSend = model.DateSend;
                    saved.Description = model.Description;
                    repo.Update(saved);
                    repo.SaveChanges();
                }
                else
                {
                    //Insert
                    var saved = new CaseMovement();
                    saved.CaseId         = model.CaseId;
                    saved.CourtId        = model.CourtId;
                    saved.MovementTypeId = model.MovementTypeId;

                    if (saved.MovementTypeId == NomenclatureConstants.CaseMovementType.ToOutStructure)
                    {
                        saved.DateAccept   = DateTime.Now;
                        saved.AcceptUserId = userContext.UserId;
                    }

                    saved.ToUserId            = model.ToUserId;
                    saved.CourtOrganizationId = model.CourtOrganizationId;
                    saved.OtherInstitution    = model.OtherInstitution;
                    saved.DateSend            = DateTime.Now;
                    saved.Description         = model.Description;
                    saved.IsActive            = true;
                    saved.DateWrt             = DateTime.Now;
                    saved.UserId = userContext.UserId;
                    repo.Add <CaseMovement>(saved);
                    repo.SaveChanges();
                    model.Id = saved.Id;
                }
                return(true);
            }
            catch (Exception ex)
            {
                logger.LogError(ex, $"Грешка при запис на движение по дело Id={ model.Id }");
                return(false);
            }
        }