Esempio n. 1
0
        public Response Save(Cartable obj)
        {
            var ProcessResponse = new Response();

            try
            {
                if (obj == null)
                {
                    ProcessResponse.Failed("Object is null");
                }
                if (_context.Cartables.IsExists(x => x.Id == obj.Id))
                {
                    var ret = _context.Cartables.Update(obj);
                    _context.Commit();
                    if (ret == null)
                    {
                        ProcessResponse.Failed("DAL Problem");
                    }
                }
                else
                {
                    var ret = _context.Cartables.Add(obj);
                    _context.Commit();
                    if (ret == null)
                    {
                        ProcessResponse.Failed("DAL Problem");
                    }
                }
            }
            catch (Exception ex)
            {
                ProcessResponse.Failed($"Error : {ex.Message} - Inner Error : {ex.InnerException.Message }");
            }
            return(ProcessResponse);
        }
        /// <summary>
        /// درج کارتابل
        /// Savechange
        /// انجام نمی شود
        /// </summary>
        /// <returns></returns>
        private bool InsertCartable(CartableStatus cartableStatus, long userId, long personIdOnBehalfof, long requestId, long postuserId, int rowNumber, bool referTo, string description)
        {
            // بررسی این که درخواست معتبر می باشد یا خیر
            var requestIsValid = _requestRepository.Where(s => s.Id == requestId && (rowNumber <= 1 ||
                                                                                     s.RequestStatus != RequestStatus.Returned)).Include(i => i.Person.Profile)
                                 .Include(i => i.Person.Student).FirstOrDefault();

            if (requestIsValid == null)
            {
                return(false);
            }
            var newCartable = new Cartable
            {
                RequestId          = requestId,
                PersonId           = userId,
                PostId             = postuserId,
                RowNumber          = rowNumber,
                ReferTo            = referTo,
                Series             = _cartableRepository.Where(c => c.RequestId == requestId && c.RowNumber == 1).Count() + (rowNumber == 1 ? 1 : 0),
                CartableStatus     = cartableStatus,
                Description        = description,
                PersonIdOnBehalfof = personIdOnBehalfof,
                CartableValidation = cartableStatus == CartableStatus.Returned ? CartableValidation.Invalid : CartableValidation.Valid// کلا در خواست ها برگشی در کارتابل نا معتبر باید باشد- در جدول کارتابل درخواست معتبر و برگشت زده نداریم
            };

            //_cartableRepository.AddOrUpdate(c => new { c.RequestId, c.PostId, c.CartableStatus, c.CartableValidation, c.RowNumber, c.Series }, newCartable);
            _cartableRepository.Add(newCartable);

            if (cartableStatus == CartableStatus.Verdict)
            {
                //if (VoteStatus == VoteStatus.Temporary)
                //    cartableStatus = CartableStatus.Confirmed;
                //else
                //{
                if (requestIsValid.RequestType == RequestType.Comision)
                {
                    if (referTo)
                    {
                        cartableStatus = CartableStatus.Confirmed;
                    }
                }
                else
                {
                    cartableStatus = CartableStatus.Confirmed; // چون شورا است باید درخواست در جریان شود
                }
                //}
            }
            requestIsValid.RequestStatus = new Request().ConvertCartableStatustoRequestStatus(cartableStatus);
            _requestRepository.Update(requestIsValid);
            return(true);
        }
Esempio n. 3
0
 public void EditCartable(Cartable cartable)
 {
     _cartables.AddOrUpdate(c => c.Id, cartable);
 }
Esempio n. 4
0
 public void AddNewCartable(Cartable cartable)
 {
     _cartables.Add(cartable);
 }